Provided by: manpages-es-extra_0.8a-17_all bug

NOMBRE

       procmailrc - fichero de recursos de procmail

SINOPSIS

       $HOME/.procmailrc

DESCRIPCIÓN

       Para  un  comienzo  rápido, véase NOTAS al final de la página de manual
       de procmail(1).

       El fichero de recursos puede contener una  mezcla  de  asignaciones  de
       variables de entorno (algunas de las cuales pueden tener un significado
       especial para procmail) y recetas. En su  apariencia  más  simple,  las
       recetas  son  sólamente una expresión regular de una línea que se busca
       en las cabeceras del correo entrante. La primera receta  que  concuerda
       se  usa  para  determinar adonde tiene que ir el correo (normalmente un
       fichero).  Si el procesado llega al  final  del  fichero  de  recursos,
       procmail entrega el correo a $DEFAULT.

       Hay  dos  clases de recetas: recetas de entrega y de no entrega.  Si se
       encuentra una receta de entrega que concuerda,  procmail  considera  el
       correo  (vd.  lo  supone)  entregado  y  terminar el procesamiento del
       fichero de recursos tras haber  ejecutado  adecuadamente  la  línea  de
       acción  de  la  receta.   Si  se encuentra una receta de no entrega que
       concuerda, el procesado del fichero de recursos continuar una vez  que
       la línea de acción haya sido ejecutada.

       Las  recetas  de  entrega  son aquellas que hacen que las cabeceras y/o
       cuerpo del corres sean:  escritas  a  un  fichero,  absorbidas  por  un
       programa o reenviadas a otra dirección de correo.

       Las  recetas  de no entrega son aquellas que: hacen que la salida de un
       programa o filtro sean capturadas por procmail o aquellas  que  inician
       un bloque anidado.

       Le  puede  decir  a  procmail  que  trate una receta de entrega como si
       fueran una receta de no entrega especificando la cacera  `c'  en  dicha
       receta.  Esto  hará  que procmail genere una copia de carbn del correo
       para entregarlo a esta receta  y  continúa  procesando  el  fichero  de
       recursos.

       Usando  cierto  número  de  recetas  puede  ordenar el correo en varias
       carpetas.  Tenga  en  cuenta  que  el  correo  puede  llegar  de  forma
       concurrente en estas carpetas (si varios programas procmail se ejecutan
       a la misma vez, no es improbable si llega  mucho  correo).  Para  estar
       seguro de que esto no degenera en problemas, es muy recomendable el uso
       de ficheros de bloqueo.

       Las asignaciones de variables de entorno y recetas  se  pueden  mezclar
       libremente  en el fichero de recursos. Si cualquier variable de entorno
       tiene un significado especial para procmail, se usará apropiadamente en
       el  momento  en que se analiza (i.e. puede cambiar el directorio actual
       cuando quiera especificando  un  nuevo  MAILDIR,  cambiar  ficheros  de
       bloqueo  especificando  un  nuevo  LOCKFILE, cambiar umask en cualquier
       momento, etc., las posibilidades son ilimitadas :-).

       Las asignaciones y sustituciones  de  estas  variables  de  entorno  se
       gestionan  exactamente  como  en sh(1) (esto incluye todas las posibles
       comillas (quotes) y escapes), con el valor añadido de  que los  blancos
       alrededor  del  signo  `=' se ignoran y que, si una variable de entorno
       aparece sin un '=' tras ella se elimina del entorno. Cualquier programa
       entre  comillas  invertidas (`) iniciado por procmail tendrá el todo el
       correo como su entrada estándar.

   Comentario
       Una palabra que comience por # y el resto de los  caracteres  hasta  el
       carácter  de  nueva línea se ignoran. Esto no se aplica a las líneas de
       condición, que no se pueden comentar.

   Recetas
       Una línea que comience por ':' indica el comienzo de una  receta.  Esto
       tiene el siguiente formato:

              :0 [banderas] [ : [fichero_bloqueo_local] ]
              <ninguna o más condiciones (una por línea)>
              <exactamente una línea de acción>

       Las  condiciones  comienzan  con un `*' inicial, todo lo que viene tras
       este carácter se pasa al egrep interno literalmente, salvo los espacios
       en  blanco  iniciales  y  finales.   Estas  expresiones  regulares  son
       completamente compatibles con las expresiones regulares extendidas  del
       egrep(1) normal.  Véase también Expresiones regulares extendidas.

       La  condiciones  se  unen  mediante  Y  (and); si no hay condiciones el
       resultado será verdadero por defecto.

       Banderas pueden ser cualesquiera de las siguientes:

       H    Hace egrep sobre la cabecera (por defecto).

       B    Hace egrep sobre el cuerpo.

       D    Indica al egrep interno que distinga entre mayúsculas y minúsculas
            (contrario   al   comportamiento   por  defecto  que  ignora  esta
            distinción).

       A    Esta receta no se ejecutará salvo que las condiciones de la última
            receta  precedente  (del  nivel  de bloque anidado actual) sin las
            banderas `A' o `a' se verificaron. Esto permite encadenar acciones
            que dependan de una condición común.

       a    Tiene  el  mismo  significado que la bandera `A', con la condición
            adicional  que  la  receta  inmediatamente  precedente  tiene  que
            completarse correctamente antes de ejecutar esta receta.

       E    Esta receta sólo se ejecuta si la receta inmediatamente precedente
            no se ejecutó. La  ejecución  de  esta  receta  también  desactiva
            cualquier receta inmediatamente posterior con la bandera 'E'. Esto
            le permite especificar acciones `else if'.

       e    Esta receta sólo se ejecuta  si  fall  la  receta  inmediatamente
            anterior (i.e. la acción se intentó, pero ocasionó un error).

       h    Alimenta  la  cabecera  a  un tubería, fichero o destino de correo
            (por defecto).

       b    Alimenta el cuerpo a un tubería, fichero o destino de correo  (por
            defecto).

       f    Considera la tubería como un filtro.

       c    Genera  una  copia  de  carbón  de  este  mensaje. Esto sólo tiene
            sentido en las recetas de entrega.   En  la  única  receta  de  no
            entrega  que  esta  bandera  tiene efecto es en un bloque anidado,
            para generar una copia de carbón esto duplica el proceso  procmail
            en  ejecución (los ficheros de bloqueo no se heredan), por lo cual
            el proceso duplicado actuará de forma normal y el padre saltará el
            bloque.

       w    Espera  que  termine  el filtro o programa y verifica su código se
            salida (normalmente ignorado); si el filtro  no  tiene  éxito,  el
            texto no será filtrado.

       W    Tiene  el  mismo  significado  que  la bandera `w', pero suprimirá
            cualquier mensaje `Fallo de Programa'.

       i    Ignora  cualquier  error  de  escritura  en  esta   receta   (i.e.
            normalmente debido a una tubería cerrada prematuramente).

       r    Modo  de  estado original (raw mode), no intenta asegurarse de que
            el mensaje termina en un línea vacía, lo escribe tal cual.

       Hay  algunas  condiciones  especiales  que  puede  usar  que   no   son
       expresiones  regulares  puras.  Para  seleccionarlas, la condición debe
       comenzar con:

       !    Invierte la condición.

       $    Evalúa el resto de esta condición según las reglas de  sustitución
            de  sh(1)  dentro  de  las  dobles  comillas,  salta  los espacios
            iniciales y entonces la vuelve a analizar.

       ?    Usa el código de salida del programa especificado.

       <    Verifica si la longitud total del  correo  es  más  corta  que  el
            número de octetos especificado (en decimal).

       >    Análogo a '<'.

       nombre_de_variable ??
            Concuerda el resto de esta condición con el valor de esta variable
            de entorno (que  no  puede  ser  una  pseudo  variable).  Un  caso
            especial  es  si  nombre_de_variable  es  igual a `B', `H', `HB' o
            `BH'; esto simplemente se sobrepone al  área  cabecera/cuerpo  por
            defecto definida por la bandera inicial de esta receta.

       \    Para entrecomillar algo de lo anterior al inicio de la línea.

   Fichero de bloqueo local
       Si  pone  unos  segundos  ':'  (detrás)  en la primera línea de receta,
       entonces procmail usará un fichero de bloqueo local (para  esta  receta
       sólo).  Opcionalmente puede especificar el fichero de bloqueo local que
       quiere usar; si no lo hace procmail usará el nombre de fichero  destino
       (o  el  nombre  de fichero a continuación del primer '>>') y le añadirá
       $LOCKEXT.

   Línea de acción de receta
       La línea de acción puede comenzar con los siguientes caracteres:

       !      Reenvía a todas las direcciones de correo especificadas.

       |      Inicia el  programa  especificado,  posiblemente  en  $SHELL  si
              incluya  alguno  de  los  caracteres  $SHELLMETAS. Opcionalmente
              puede incluir el símbolo de tubería en variable=,  lo  que  hará
              que la salida estándar del programa sea capturado en la variable
              de entorno (procmail no termina el preprocesado del  fichero  de
              recursos  en  este punto).  si especifica el símbolo de tubería,
              sin ningún programa, procmail  dirige  el  correo  a  la  salida
              estándar.

       {      Seguido de al menos un espacio, tabulador o nueva línea, marcará
              el inicio de un  bloque  anidado.  Todo  lo  que  hay  hasta  la
              siguiente  llave  cerrada dependerá de la condición especificada
              para esta receta. Está permitido  el  anidamiento  ilimitado  La
              llave que cierra existe simplemente para delimitar el bloque, no
              hará que procmail termine de ninguna forma. Si se llega al final
              del  bloque  el  procesamiento  continuará  de la forma habitual
              después del bloque.  En los bloque anidados, las banderas `H'  y
              `B'  sólo  afecta a las iniciales del bloque, las banderas `h' y
              `b' no tienen efecto.

       Cualquier otra cosa se tomará como un nombre de buzón (bien  un  nombre
       de  fichero  o  bien  un  directorio, absoluto o relativo al directorio
       actual (véase MAILDIR)).  Si es  un  nombre  de  fichero  (posiblemente
       inexistente), el correo se añade a él.

       Si  es  un directorio, el correo se entregará a un fichero creado nuevo
       con un  nombre  que  se  garantiza  único  llamado  $MSGPREFIX*  en  el
       directorio especificado. Si el nombre del directorio directorio termina
       en "/.", entonces se presupone que es una  carpeta  MH;  i.e.  procmail
       usará  el  siguiente  número  que encuentre disponible. Cuando procmail
       está entregando a directorios, puede especificar múltiples  directorios
       para entregar (procmail la hará usando enlaces duros).

   Variables de entoro por defecto
       LOGNAME, HOME y SHELL Sus valores (del recipiente) por defecto

       SHELLMETAS            &|<>~;?*[

       SHELLFLAGS            -c

       ORGMAIL               /var/spool/mail/$LOGNAME
                             (Salvo  que se haya especificado -m, en cuyo caso
                             no tiene valor)

       MAILDIR               $HOME/
                             (Salvo  que  el  nombre  del  primer  fichero  de
                             recursos abierto correctamente empiece con Unless
                             the name of the first successfully opened  rcfile
                             starts  with  `./' o si se ha especificado -m, ne
                             cuyo caso se pone por defecto a `.')

       DEFAULT               $ORGMAIL

       MSGPREFIX             msg.

       SENDMAIL              /usr/sbin/sendmail

       SENDMAILFLAGS         -oi

       HOST                  El nombre actual del host

       COMSAT                no
                             (Si se ha especificado un fichero de recursos  en
                             la línea de comando)

       PROCMAIL_VERSION      3.13.1

       LOCKEXT               .lock

       Otras variables limpiadas o prefijadas son IFS, ENV, PWD and
       PATH=$HOME/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
       :/usr/local/sbin:/usr/bin/X11.

   Entorno
       Antes  de que se pierda en la multitud de varables de entorno, tenga en
       cuenta que todas ellas tienen valores por defecto razonables.

       MAILDIR     Directorio actual mientras procmail está en ejecución  (que
                   significa que todas las rutas son relativas a $MAILDIR).

       DEFAULT     Fichero  buzón  por  defecto  (si no se ha dicho otra cosa,
                   procmail volcará el correo en este buzón).  Procmail  usará
                   automáticamente  $DEFAULT$LOCKEXT  como  fichero de bloqueo
                   antes de escribir en este buzón.  No  necesita  fijar  esta
                   variable, ya que apunta al buzón estándar del sistema.

       LOGFILE     Este fichero también contendrá cualquier mensaje de error o
                   diagnóstico  de  procmail  (normalmente   ninguno   :-)   o
                   cualquier  otro  programa  iniciado  por procmail. Si no se
                   especifica este fichero, cualquier mensaje de diagnóstico o
                   error  se devolverá por correo al remitente.  Véase también
                   LOGABSTRACT.

       VERBOSE     Puede activar diagnsticos extendidos fijando esta variable
                   a  `yes' u `on', para desactivarlos de nuevo póngala a `no'
                   u `off'.

       LOGABSTRACT Justo  antes  de  que   procmail   termine   registra   una
                   descripción del mensaje entregado en $LOGFILE mostrando los
                   campos `From ' y `Subject:' de la cabecera, a  qué  carpeta
                   se  entregó  finalmente  y  qué  tamaño tenía (en octetos).
                   Fijando esta variable a `no', se suprime la  generación  de
                   estos  mensajes.  Si  le  asigna  el  valor `all', procmail
                   registrará una descripción  para  cada  receta  de  entrega
                   procesada con éxito.

       LOG         Cualquier   cosa  asignada  a  esta  variable  se  añade  a
                   $LOGFILE.

       ORGMAIL     Normalmente el buzón del sistema  (ORiGinal  MAILbox).   Si
                   por  alguna oscura razón (como `sistema de ficheros lleno')
                   el correo no pudiera entregarse, entonces este buzón es  el
                   último  recurso.  Si  procmail falla para guardar el correo
                   aquí (gran, gran problema :-), entonces el correo vuelve al
                   remitente.

       LOCKFILE    Fichero   semáforo  global.  Si  este  fichero  existe  ya,
                   procmail esperará hasta que se haya ido antes de  proceder,
                   y lo creará él mismo (eliminándolo cuando esté listo, desde
                   luego). Si se especifica más de un  fichero  de  bloqueo  ,
                   entonces  el  previo  sólo  se  eliminará antes de intentar
                   crear el nuevo. El uso de un fichero de bloqueo  global  es
                   desaconsejable, cuando sea posible use en su lugar ficheros
                   de bloqueo locales (uno por receta base).

       LOCKEXT     Extensión por defecto que se añade al fichero destino  para
                   determinar  que  fichero  de bloqueo local usar (sólo si se
                   activa, activo por receta base).

       LOCKSLEEP   Número de segundos que procmail dormirá antes de reintentar
                   sobre  un  fichero  de  bloqueo  (si  ya  existe); si no se
                   especifica, el valor por defecto es 8 segundos.

       LOCKTIMEOUT Número de segundos  que  tienen  que  pasar  desde  que  un
                   fichero  de  bloqueo  fue  modificado/creado  antes  de que
                   procmail decida que  este  deber  ser  fichero  de  bloqueo
                   erróneamente  dejado  y  que puede ser eliminado ahora a la
                   fuerza. Si es cero el fichero de bloqueo se  elimina, si no
                   se  especifica, toma un valor por defecto de 1024 segundos.
                   Esta variable es útil para prevenir cuelgues  infinitos  de
                   sendmail/procmail.   Procmail  es inmune a las desviaciones
                   de reloj a través de máquinas.

       TIMEOUT     Número de segundos que tienen que haber transcurrido  antes
                   de que procmail decida que algún proceso hijo que él inició
                   tiene que terminarlo. El programa en cuestión recibirá  una
                   señal TERMINATE de procmail, y el procesamiento del fichero
                   de  recursos  continuará.  Si  vale   cero,   no   se   usa
                   temporizador y procmail esperará indefinidamente hasta  que
                   el hijo termine; si no se especifica, el valor por  defecto
                   es 960 segundos.

       MSGPREFIX   El  prefijo  de  nombre  de   fichero  que se usa cuando se
                   entrega a un directorio (no se usa cuando se entrega  a  un
                   directorio MH).

       HOST        Si esto no es el nombre de host de la máquina, el procesado
                   del fichero de recursos actual cesa inmediatamente. Si otro
                   fichero  de  recursos  fuera  especificado  en  la línea de
                   comando, el procesamiento continuará con el siguiente.   Si
                   se  agotan  todos  los  ficheros  de  recursos, el programa
                   terminará, pero no generará un error (i.e. para el programa
                   de correo parecerá que el correo ha sido entregado).

       UMASK       El  nombre lo dice todo (si no, olvide esto :-).  Cualquier
                   cosa asignada a UMASK se toma como un número octal.  Si  no
                   se  especifica,  el valor por defecto de umask será 077. Si
                   umask permite o+x, todos los  buzones  a  los  que  entrega
                   procmail  directamente  sufrirán  un  cambio de modo a o+x.
                   Esto se puede usar  para  verificar  si  ha  llegado  nuevo
                   correo.

       SHELLMETAS  Si  cualesquiera de los caracteres de SHELLMETAS aparece en
                   la línea que especifica un filtro o programa, la  línea  se
                   pasará a  $SHELL en lugar de ser ejecutada directamente.

       SHELLFLAGS  Cualquier llamada a $SHELL será como:
                   "$SHELL" "$SHELLFLAGS" "$*";

       SENDMAIL    Si  no usa la facilidad forwarding no se preocupe por esto.
                   Especifica el programa que se llama para reenviar cualquier
                   correo.
                   Se llama como: "$SENDMAIL" "$SENDMAILFLAGS" "$@";

       NORESRETRY  Número  de reintentos que se llevan a cabo si sucede alguno
                   de  los  errores  `tabla  de  procesos  llena',  `tabla  de
                   ficheros   llena',   `memoria  agotada(out  of  memory)'  o
                   `espacio swap agotado (out of swap space)'.  Si este número
                   es negativo, entonces procmail reintentará indefinidamente;
                   si no se especifica su valor por defecto es  4  veces.  Los
                   reintentos   se  producen  con  un  intervalo  de  $SUSPEND
                   segundos. La idea que hay detrás de esto es, que si v.g. el
                   espacio  swap  se  ha  agotado  o la tabla de procesos está
                   llena, normalmente muchos  otros  programas  lo  detectarán
                   también  y  abortarán o fallarán 8-), en relación con esto,
                   libere los recursos que puedan se valiosos para procmail.

       SUSPEND     Número de segundos que procmail estará en  pausa  si  tiene
                   que   esperar   algo  que  actualmente  no  está  dispoible
                   (memoria, fork, etc.); si no se especifica tomará un  valor
                   por defecto de 16 segundos. Véase también: LOCKSLEEP.

       LINEBUF     Longitud  de  las  líneas de buffer internas, no pueden ser
                   menores de 128.  Todas las líneas  leídas  del  fichero  de
                   recursos  Si  no se especifica toma el valor por defecto de
                   2048. Este límite, desde luego,  no  se  aplica  al  propio
                   mensaje, que puede tener una longitud de líneas arbitrario,
                   o  podría   ser   un   fichero   binario.   Véase   también
                   PROCMAIL_OVERFLOW.

       DELIVERED   Si  está con un valor `yes' procmail parecerá (al agente de
                   correo) que el correo ha sido entregado. Si el correo o  se
                   puede  entregar tras haberse encontrado con esta asignación
                   (puesta a `yes'), el correo se perderá (i.e. el  correo  no
                   rebota).

       TRAP        Cuando  procmail  termina  ejecutará  el  contenido de esta
                   variable. Se puede leer una copia del correo de la  entrada
                   estándar.  Cualquuier  salida producida por este comando se
                   añadirá a  $LOGFILE.   Los  posibles  usos  de   TRAP  son:
                   eliminación  de  ficheros temporales, registrar incidencias
                   personalizadas, etc. Véase también EXITCODE y LOGABSTRACT.

       EXITCODE    Cuando procmail termina y a esta variable se le ha asignado
                   un  valor numérico positivo, procmail los usará como código
                   de salida. Si  esta  variable  está  definida  pero  vacía,
                   procmail  asignará  el  código de salida con cualquier cosa
                   que devuelva el programa TRAP devuelva.  Si  esta  variable
                   no  se  ha  fijado,  procmail  la fijará antes de llamar al
                   programa TRAP program.

       LASTFOLDER  Procmail asigna esta variable cuando está entregando a  una
                   carpeta o programa. Siempre contiene el nombre de la última
                   carpeta (o programa) al que entregó procmail.

       MATCH       Procmail  asigna  esta  variable  cuando  se  le  dice  que
                   extraiga  el texto que concuerda con una expresión regular.
                   Contendrá todo el texto  que  concuerda  con  la  expresión
                   regular pasado el `\/'.

       SHIFT       La asignación de un valor positivo a esta variable tiene el
                   mismo efecto que el mandato `shift' en sh(1).  Este comando
                   es  más  útil  para  extraer  argumentos  extra  pasados  a
                   procmail cuando actúa como filtro de correo genérico.

       INCLUDERC   Nombres de ficheros de recursos  (relativos  al  directorio
                   actual)  se  se  incluirán  aquí  como  si fueran parte del
                   fichero de  recursos  actual.  Se  permite  el  anidamiento
                   ilimitado.  Como  no  se  realizan verificaciones sobre los
                   permisos o  la  propiedad  del  fichero  de  recursos,  los
                   usuarios  de  INCLUDERC  deberían estar seguros de que sólo
                   los usuarios con confianza tienen permiso de  escritura  en
                   el  fichero  de  recurso incluido o el directorio en el que
                   está.

       PROCMAIL_VERSION
                   El número de versión del binario procmail en ejecución.

       PROCMAIL_OVERFLOW
                   Esta variable se fijará a un valor  no  vacío  si  procmail
                   detecta  un  desbordamiento  del  buffer.  Véase también la
                   sección fallos de abajo para otros  detalles  de  operación
                   cuando ocurren los desbordamientos.

       COMSAT      La  notificación Comsat(8)/biff(1) está activa por defecto,
                   se puede desactivar fijando esta variable a `no'.  De forma
                   alternativa,   el   servicio  biff  se  puede  personalizar
                   poniéndolo     como     `service@',     `@hostname',      o
                   `service@hostname'.  Cuando no se especifica por defecto to
                   biff@localhost.

       DROPPRIVS   Si está a `yes' procmail anulará todos los privilegios  que
                   pudiera  tener  (suid  o sgid). Esto sólo es útil si quiere
                   garantizar que la última mitad del fichero  /etc/procmailrc
                   se ejecuta en nombre del recipiente.

   Expresiones regulares extendidas
       Los  siguientes elementos se conocen por el egrep interno de procmail y
       el egrep(1) estándar (tenga cuidado que algunos  desarrollos  de  egrep
       incluyen otras extensiones no estándar):

       ^         Inicio de línea.

       $         Fin de línea.

       .         Cualquier carácter salvo nueva línea.

       a*        Cualquier secuencia de ninguna o más aes.

       a+        Cualquier secuencia de una o más aes.

       a?        Ninguna o una a.

       [^-a-d]   Cualquier  carácter  que  no sea un guion, a, b, c, d o nueva
                 línea.

       de|abc    Las secuencias `de' o `abc'.

       (abc)*    Ninguna o más veces la secuencia `abc'.

       \.        Concuerda con un simple punto; use \ para proteger cualquiera
                 de  los  caracteres  mágicos  para  suprimir  su  significado
                 especial. Véase también la sustitción de variables  $\ .

       Esto  eran  sólo  ejemplos,  desde  luego,  cualquier  combinación  más
       compleja es válida también.

       Los significados de los siguientes elementos son extensiones especiales
       de procmail:

       ^ or $    Concuerda con una nueva línea(para concordancia multilínea).

       ^^        Asocia la expresión al comienzo del área de búsqueda, o si se
                 encuentra  al  final  de  la expresión, lo asocia al final de
                 área de búsqueda.

       \< o \>   Concuerda con el carácter anterio o posterior a una  palabra.
                 Simplemente son abreviaturas de `[^a-zA-Z0-9_]', pero también
                 puede concordar con nuevas líneas. Como  concuerdan  con  los
                 caracteres  actuales, sólo sirven para delimitar palabras, no
                 para delimitar espacio entre palabras.

       \/        Divide la expresión en dos partes. Todo lo que  cocuerda  con
                 la parte derecha se asignará a la variable de entorno MATCH.

EJEMPLOS

       Mire la página de manual procmailex(5).

ADVERTENCIAS

       Las  líneas  que  continúan  en la siguiente en una línea de acción que
       especifiquen  un  programa  siempre  tienen  que  terminar   en   barra
       invertida,  incluso  en el caso que la shell subyacente no necesitara o
       quisiera las barras invertidas para indicar la  continuación.  Esto  es
       debido  proceso  de  análisis  en  dos pasadas que se necesita (primero
       procmail, luego la shell (o no, dependiendo de SHELLMETAS)).

       No ponga comentarios  en  las  líneas  de  condiciones  de  expresiones
       regulares  de  una  receta,  estas  líneas  alimentan  al egrep interno
       literalmente (salvo las barras invertidas al final de línea).

       Los espacios en blanco iniciales en las continuaciones  de  expresiones
       regulares  normalmente  se ignoran (para que se pueda sangrar), pero no
       en las líneas de condición que se evalúan de acuerdo a  las  reglas  de
       sustitución de sh(1) comprendidas entre comillas dobles.

       Vigile  los  bloqueos  muertos  cuando  haga cosas poco saludables como
       reenviar correo a us propia cuenta.  Los  bloqueos  muertos  se  pueden
       romper con uso adecuado de LOCKTIMEOUT.

       Cualesquiera  valores  por  defecto  que  tenga  procmail  para  alguna
       variable de entorno siempre  se  sobrepone  a  los  que  ya  estuvieran
       definidos.  Si  realmente  quiere sobreponer estos valores por defecto,
       los puede poner bien en el  fichero  de  recursos  o  en  la  línea  de
       mandatos como un argumento.

       Las  variables  de  entorno  fijadas  dentro  de  la  parte  de  acción
       interpretadas por la the shell-`|' de  una  receta  no  conservará  sus
       valores  tras  haber  finalizado  la  receta  ya  que se asignan en uan
       subshell de procmail. Para  estar  seguro  de   que  el  valor  de  las
       variables  de entorno retienen su valor tiene que poner la asignación a
       la variable antes del `|' inicial de una receta,  de  forma  que  pueda
       capturar la salida estándar del programa.

       Si  especifica sólo una bandera `h' o una `b' en una receta de entrega,
       y la receta concuerda, entonces, salvo que esté presente la bandera `c'
       también,  el  cuerpo  y las cabeceras respectivas del correo se pierden
       silenciosamente.

VÉASE TAMBIÉN

       procmail(1), procmailsc(5), procmailex(5), sh(1), csh(1), mail(1),
       mailx(1), binmail(1), uucp(1), aliases(5), sendmail(8), egrep(1),
       regexp(5), grep(1), biff(1), comsat(8), lockfile(1), formail(1)

FALLOS (BUGS)

       La única sustitución de variables de entorno que puede  ser  gestionada
       por  el  propio  procmail  son  del tipo $name, ${name}, ${name:-text},
       ${name:+text}, ${name-text}, ${name+text}, $\name, $#, $n, $$, $?,  $_,
       $-  y  $=;  por lo cual $\name se sustituirá por todos caracteres de la
       expresión regular mágica desarmada equivalente de  $name,  $_  por   el
       nombre  del  fichero  de  recursos  actual,  $-  por  $LASTFOLDER  y $=
       contendrá la puntuación de  la  última  receta.   Cuando  se  usan  las
       opciones  -a  o  -m,  "$@"  se  expande  a  los  argumentos específicos
       respectivos (lista); pero sólo cuando se pasa en la lista de argumentos
       a un programa.

       Procmail no soporta la expansión de `~'.

       Se  usa  una  línea de buffer de longitud $LINEBUF cuando se procesa el
       fichero de recursos, cualquier expansión  que  no  se  ajuste  a  estos
       límites se truncará y se asigna valor a PROCMAIL_OVERFLOW.  Si la línea
       desbordada es una condición o una línea de acción, se considerará fallo
       y  procmail  continuará  procesando. Si es una asignación de variable o
       línea de comienzo de receta entonces procmail abortará  el  fichero  de
       recursos entero.

       Si  el fichero de bloquo global tiene una ruta relativa y el directorio
       actual no es el mismo que cuando el fichero de bloqueo local  se  creó,
       entonces el fichero de bloquo global no se eliminará si porcmail existe
       en ese punto (remedio: use rutas absolutas para especificar ficheros de
       bloqueo globales).

       Si  un  fichero de recursos tiene una ruta relativa y cuando el fichero
       se abre por primera vez MAILDIR contiene una ruta  relativa,  y  si  en
       este  punto  procmail  tiene  que  clonarse  y  el directorio actual ha
       cambiado desde que el fichero de recusos se abrió, entonces procmail no
       podrá  colonarse  él mismo (remedio: use una ruta absoluta para indicar
       el fichero de recursos o esté seguro  que  MAILDIR  contiene  una  ruta
       absoluta como el fichero de recursos abierto).

       Un  fichero  de bloqueo local de una receta que marca el comienzo de un
       bloque anidado sin fork no funciona como se esperaría.

       Cuando capture la salida estándar de una  receta  en  una  variable  de
       entorno, se eliminará exactamente un carácter final de nueva línea.

MISCELANEA

       Si la expresión regular contiene `^TO_' será sustituido por
       `(^((Original-)?(Resent-)?(To|Cc|Bcc)|(X-Envelope
       |Apparently(-Resent)?)-To):(.*[^-a-zA-Z0-9_.])?)', que debería capturar
       todas las especificaciones de destino que contienen una direccin
       específica.

       Si la expresión regular contiene `^TO' será sustituido por
       `(^((Original-)?(Resent-)?(To|Cc|Bcc)|(X-Envelope
       |Apparently(-Resent)?)-To):(.*[^a-zA-Z])?)', que debería capturar todas
       las especificaciones de destino que contienen una palabra especifica.

       Si la expresión regular contiene `^FROM_DAEMON' será sustituido por
       `(^(Mailing-List:|Precedence:.*(junk|bulk|list)|To: Multiple recipients
       of |(((Resent-)?(From|Sender)|X-Envelope-From):|>?From )([^>]*[^(.%@a-
       z0-9])?(Post(ma?(st(e?r)?|n)|office)|(send)?Mail(er)?|daemon|m(mdf
       |ajordomo)|n?uucp|LIST(SERV|proc)|NETSERV|o(wner|ps)|r(e(quest|sponse)
       |oot)|b(ounce|bs\.smtp)|echo|mirror|s(erv(ices?|er)|mtp(error)?|ystem)
       |A(dmin(istrator)?|MMGR|utoanswer))(([^).!:a-z0-9][-_a-z0-9]*)?[%@>\t
       ][^<)]*(\(.*\).*)?)?$([^>]|$)))', que debería capturar los correos que
       llegan de la mayoría de los demonios (como es eso para una expresión
       regular :-).

       Si la expresión regular contiene `^FROM_MAILER' se susrituirá por
       `(^(((Resent-)?(From|Sender)|X-Envelope-From):|>?From )([^>]*[^(.%@a-
       z0-9])?(Post(ma(st(er)?|n)|office)|(send)?Mail(er)?|daemon|mmdf|n?uucp
       |ops|r(esponse|oot)|(bbs\.)?smtp(error)?|s(erv(ices?|er)|ystem)
       |A(dmin(istrator)?|MMGR))(([^).!:a-z0-9][-_a-z0-9]*)?[%@>\t
       ][^<)]*(\(.*\).*)?)?$([^>]|$))' (una versión reducida de
       `^FROM_DAEMON'), que debería capturar los correo que llegan de la
       mayoría de los demonios de correo.

       Cuando asigna valores booleanos a variables como VERBOSE,  DELIVERED  o
       COMSAT,  procmail  acepta  como verdadero cualquier cadena que comience
       por un valor no cero, `on', `y', `t' or `e'.   Falso  es  todo  lo  que
       empiece por una valor cero, `off',`n', `f' o `d'.

       Si  la  línea  de acción de una receta especifica un programa, un único
       par barra invertida-nueva línea  en  ella  sobre  una  línea  vacía  se
       convertirá en una nueva línea.

       El  motor  de  expresión  regular  construido  en  procmail  no soporta
       denominaciones de clases de caracteres

NOTAS

       Como lo espacios iniciales sin commillas son ignorados en el fichero de
       recuros, puede sangra el texto a su gusto.

       El  símpbolo   `|'  inicial  en  la línea de acción para especificar un
       programa o filtro se elimina antes de verificar $SHELLMETAS.

       Los ficheros incluidos en la directiva  INCLUDERC  que  sólo  contengan
       asignaciones de variables de entorno se puede compartir con sh.

       Para  procesamientos  realmente complicados incluso puede considerar el
       llamar   a procmail recursivamente.

       En los viejos tiempos, la `:0' que marca el  comienzo  de  una  receta,
       tuvo  que  cambiarse  a `:n', donde `n' indica el número de condiciones
       que siguen.

AUTOR

       Stephen R. van den Berg
              <srb@cuci.nl>