Provided by: manpages-es-extra_0.8a-19_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 carbón 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   diagnósticos  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 dirección 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>

BuGless                                            1999/02/26                                      PROCMAILRC(5)