PROCMAIL(1) | General Commands Manual | PROCMAIL(1) |
NOMBRE¶
procmail - procesador autónomo de correo
SINOPSIS¶
procmail [-ptoY] [-f dequien]
[parámetro=valor | fichero_de_recursos]
...
procmail [-toY] [-f dequien] [-a
argumento] -d recipiente ...
procmail [-ptY] -m
[parámetro=valor] ... fichero_de_recursos
[argumento] ...
procmail [-toY] [-a argumento] -z
procmail -v
DESCRIPCIÓN¶
Para un comienzo rápido véase NOTAS al final.
Procmail se debería llamar automáticamente sobre el mecanismo del fichero .forward tan pronto como llegue el correo. De forma alternativa, cuando se lo instale el administrador del sistema, se puede llamar desde el programa de correo inmediatamente. Cuando se llama, primero fija algunas variables de entorno a sus valores por defecto, lee el mensaje de correo de la entrada estándar hasta un EOF, separa el cuerpo de la cabecera, y entonces, si no hay argumentos en la línea de mandatos, empieza a buscar un fichero llamado $HOME/.procmailrc. De acuerdo con las recetas de procesado de este fichero, el mensaje de correo que acaba de llegar se distribuye a la carpeta adecuada (y más). Si no se encuentra fichero_de_recursos, o el procesado del fichero_de_recursos llega al final, procmail almacenará el mensaje en el buzón por defecto del sistema.
Si no se ha especificado fichero_de_recursos y tampoco se ha especificado la opción -p en la línea de mandatos, procmail, antes de leer $HOME/.procmailrc, interpreta los mandatos de /etc/procmailrc (if existe). Hay que tener cuidado cuando se cree /etc/procmailrc, debido, si las circunstancias lo permiten, se ejecutará con privilegios de root (contrario al fichero $HOME/.procmailrc por supuesto).
Sise ejecuta con suid root o con privilegios de root, procmail podrá funcionar con funcionalidad mejorada, compatible con el agente de entrega.
Procmail también se puede usar como filtro de correo de propósito general, i.e. se han realizado las medidas necesarias para que procmail se pueda llamar en un regla especial de sendmail.
El formato del fichero_de_recursos se describe en detalle en la página de manual procmailrc(5).
La técnica de puntuación de peso se describe en detalla en la página del manual procmailsc(5).
Se pueden encontrar ejemplos de recetas del fichero_de_recursos en
la página del manual procmailex(5).
Señales¶
- TERMINATE
- Termina prematuramente y reencola el correo.
- HANGUP
- Termina prematuramente y rebota el correo.
- INTERRUPT
- Termina prematuramente y rebota el correo.
- QUIT
- Termina prematuramente y pierde el correo silenciosamente.
- ALARM
- Fueza el temporizador (véase TIMEOUT).
- USR1
- Equivalente a un VERBOSE=off.
- USR2
- Equivalente a un VERBOSE=on.
OPCIONES¶
- -v
- Procmail imprimirá su número de versión number,
muestra su fecha de configuración de compilación y sale.
- -p
- Preserve any old environment. Normally procmail clears the environment
upon startup, except for the value of TZ. However, in any case: any
default values will override any preexisting environment variables, i.e.,
procmail will not pay any attention to any predefined environment
variables, it will happily overwrite them with its own defaults. For the
list of environment variables that procmail will preset see the
procmailrc(5) man page. If both -p and -m are specified, the list
of preset environment variables shrinks to just: LOGNAME, HOME, SHELL,
USER_SHELL, ORGMAIL and MAILDIR.
- -t
- Hace que procmail falle suavemente, i.e. si procmmil no puede entregar el
correo a alguno de los destinos que le dio, el correo no rebota, sino que
retorna a la cola de correo. En elagún momento futuro se realiza
otro intento de entrega.
- -f dequien
- Hace que procmail regenere la línea `From' inicial con
dequien como remitente (en lugar de -f uno podría usar el
alternativo y obsoleto -r). Si dequien consiste en n simple `-',
procmail solo actualizará la marca de tiempo de la línea
`From ' (si está presente, si no, generará una nueva).
- -o
- En lugar de permitir a cualquiera generar líneas `From ',
simplemente sobrepone los falsos.
- -Y
- Supone el formato de buzón tradicional de Berkeley, ignora
cualquier campo Content-Length:.
- -a argumento
- Esto fijará $1 igual a argumento. Se puede usar para pasar
metainformación a procmail. Esto se hace para pasar la
información de la regla $@x de sendmail.
- -d recipiente ...
- Esto activa el modo de entrega, la entrega será al
recipiente. del usuario local. Esto, por supuesto, solo es posible
si procmail tiene privilegios de root (o si procmail ya estáen
ejecución con los euid y egid del recipiente). Procmail
tomará la identidad (setuid) del recipiente y entrega el correo
como si fuera llamado por el recipiente sin argumentos ((i.e. si no se
encuentra fichero_de_recursos, la entrega es como correo ordinario). Esta
opción es incompatible con -p.
- -m
- Turns procmail into a general purpose mail filter. In this mode one rcfile
must be specified on the command line. After the rcfile, procmail will
accept an unlimited number of arguments. If the rcfile is an absolute path
starting with /etc/procmailrcs/ without backward references (i.e.
the parent directory cannot be mentioned) procmail will, only if no
security violations are found, take on the identity of the owner of the
rcfile (or symbolic link). For some advanced usage of this option you
should look in the EXAMPLES section below.
- -z
- This turns on LMTP mode, wherein procmail acts as an RFC2033 LMTP server. Delivery takes place in the same manner and under the same restrictions as the delivery mode enabled with -d. This option is incompatible with -p and -f.
ARGUMENTOS¶
Any arguments containing an '=' are considered to be environment variable assignments, they will all be evaluated after the default values have been assigned and before the first rcfile is opened.
Cualesquiera otros argumentos se supone que son rutas de fichero_de_recursos (bien absolutas o relativas al directorio actual si empiezan por `./'; cualquier otra ruta es relativa a $HOME, salvo que se haya dado la opción -m, en cuyo caso todas las rutas relativas son relativas al directorio actual); procmail empezará con el primero que encuentre en la línea de mandatos. Los siguientes solo se analizan si los previos tienen una entrada de directiva de no concordancia con HOST, o en l caso de que no existieran.
Si no se ha especificado fichero_de_recursos, buscará
$HOME/.procmailrc. Si no lo ha podido encontrar, el procesamiento
continuará de acuerdo a los valores por defecto de las variables de
entorno y las especificadas en la línea de órdenes.
EJEMPLOS¶
Se pueden encontar ejemplos de recetas para fichero_de_recursos en la página de manual procmailex(5). Se puede encontrar n ejemplo pequeño de fichero_de_recursos en la sección NOTAS más abajo.
Salte el resto de estos EJEMPLOS salvo que sea un administrador de systema que esté vagamente familiarizado con la sintaxis de sendmail.cf.
La opción -m se usa típicamente cuando procmail se llama desde una regla del fichero sendmail.cf. Para poder hacer esto es conveniente crear un "mailer" procmail extra en su fichero sendmail.cf (además del, quizás presente "mailer" local que lanza procmail). Para crear el "mailer" `procmail' le sugiero algo como:
Mprocmail, P=/usr/bin/procmail, F=mSDFMhun, S=11, R=21,
A=procmail -m $h $g $u
Esto le permite usar reglas como las siguientes (más probable en ruleset 0) para filtrar correo a través del mailer procmail (por favor observe el tabulador inicial para continuar la regla, y el tabulador para separar los comentarios):
R$*<@some.where>$*
$#procmail $@/etc/procmailrcs/some.rc $:$1@some.where.procmail$2 R$*<@$*.procmail>$*
$1<@$2>$3 Ya filtrado, map back
Y /etc/procmailrcs/some.rc podría ser tan simple como:
SENDER = "<$1>" # fix for empty sender addresses SHIFT = 1 # remove it from $@ :0 # elimina el correo basura * ^Subject:.*junk /dev/null :0 w # pass along all other mail ! -oi -f "$SENDER" "$@"
Vigile cuando envíe correo desde un fichero
/etc/procmailrcs/some.rc file, si envía correo a direcciones que
concuerdan la primera regla de nuevo, podría estar creando un bucle
de correo sin fin.
ARCHIVOS¶
- /etc/passwd
- to set the recipient's LOGNAME, HOME and USER_SHELL variable defaults
- /var/spool/mail/$LOGNAME
- buzón del sistema; tanto el buzón del sistema como el
directorio inmediato que lo contiene se crearán cada vez que
procmail se inicie si alguno de ellos no existe.
- /etc/procmailrc
- fichero_de_recursos global inicial
- /etc/procmailrcs/
- ruta de provilegios especiasles para el fichero_de_recursoss
- $HOME/.procmailrc
- fichero_de_recursos por defecto
- /var/spool/mail/$LOGNAME.lock
- fichero de bloqueo para el buzón del sistema (procmail no lo usa
automáticamente, salvo que $DEFAULT sea igual a
/var/spool/mail/$LOGNAME y procmail esté entregando a $DEFAULT)
- /usr/sbin/sendmail
- programa de reenvío de correo por defecto
- _????`hostname`
- ficheros temporales únicos de longitud cero creados por procmail
VÉASE TAMBIÉN¶
procmailrc(5), procmailsc(5), procmailex(5), sh(1), csh(1), mail(1), mailx(1), uucp(1), aliases(5), sendmail(8), egrep(1), grep(1), biff(1), comsat(8), lockfile(1), formail(1), cron(1)
DIAGNÓSTICOS¶
- Autoforwarding mailbox found
- El buzón del sistema tiene activos sus bits suid o sgid bit,
procmail termina con EX_NOUSER suponiendo que no debe entregar a este
buzón.
- Bad substitution of "x"
- Especificado un nombre de variable de entorno inválido.
- Closing brace unexpected
- No está el paréntesis abierto correspondiente (bloque
anidado).
- Conflicting options
- No todas las combinaciones de opciones son útiles.
- Conflicting x suppressed
- La bandera x no es compatible con alguna otra bandera de esta receta.
- Couldn't create "x"
- El buzón del sistema desapareció y no se puede/quiere crear.
- Couldn't create maildir part "x"
- The maildir folder "x" is missing one or more required
subdirectories and procmail could not create them.
- Couldn't create or rename temp file "x"
- An error occurred in the mechanics of delivering to the directory folder
"x".
- Couldn't determine implicit lockfile from "x"
- No había redirector `>>', usando simplemente `$LOCKEXT' como
fichero de bloqueo local.
- Couldn't read "x"
- Procmail was unable to open an rcfile or it was not a regular file, or
procmail couldn't open an MH directory to find the highest numbered file.
- Couldn't unlock "x"
- El fichero de bloqueo se perdió o los permisos de escritura del
directorio donde está lo han denegado.
- Deadlock attempted on "x"
- El fichero de bloqueo local especificado en esta receta es igual a un
$LOCKFILE activo.
- Denying special privileges for "x"
- Procmail no tomará la identidad que viene con el
fichero_de_recursos porque se encontró un violación de
seguridad (v.g. -p o asignaciones de variables en la línea
de órdenes) o procmail no tiene privilegios suficientes para
hacerlo.
- Descriptor "x" was not open
- Cuando se inició procmail, la entrada estándar o las salidas
estándar o de errores no estaba conectada (posiblemente un intento
de subvertir la seguridad)
- Enforcing stricter permissions on "x"
- El buzón del sistema del recipiente parece ser inseguro, procmail
lo asegura.
- Error while writing to "x"
- Directorio inexistente, falta permiso de escritura, pipe muerto o disco
lleno.
- Exceeded LINEBUF
- Detectado desbordamiento de buffer, LINEBUF era muy pequeño, se ha
fijado PROCMAIL_OVERFLOW.
- MAILDIR is not an absolute path
-
- MAILDIR path too long
-
- ORGMAIL is not an absolute path
-
- ORGMAIL path too long
-
- default rcfile is not an absolute path
-
- default rcfile path too long
- The specified item's full path, when expanded, was longer than LINEBUF or
didn't start with a file separator.
- Excessive output quenched from "x"
- The backquoted expression "x" tried to produce too much output
for the current LINEBUF; the rest was discarded and PROCMAIL_OVERFLOW has
been set.
- Extraneous x ignored
- The action line or other flags on this recipe make x meaningless.
- Failed forking "x"
- La tabla de procesos está llena (y NORESRETRY se ha agotado).
- Failed to execute "x"
- El programa no está en la ruta o no es ejecutable.
- Forced unlock denied on "x"
- No hay permisos de escritura en el directorio donde reside el fichero
de bloqueo "x", o más de un procmail intenta forzar
un bloque exactamente al mismo tiempo.
- Forcing lock on "x"
- El fichero de bloqueo x se va a eliminar por la fuerza por
sobrepasar el temporizador (véase también:
LOCKTIMEOUT).
- Incomplete recipe
- Se encontró el comienzo de la receta, pero se quedó en un
EOF.
- Insufficient privileges
- Procmail necesita privilegios de root o debe tener los (e)uid y
(e)gid adecuados para ejecutarse en modo entrega. El correo rebota.
- Invalid regexp "x"
- La expresión regular "x" contiene errores (lo más
probable algún paréntesis extraño o perdido).
- Kernel-lock failed
- Mientras intentaba usar las llamadas de bloqueo del núcleo, una de
ellas falló (normalmente indica un error de S. O.), procmail ignora
este error y continúa.
- Kernel-unlock failed
- Véase arriba.
- Lock failure on "x"
- Solo puede ocurrir si especifica algún nombre real de fichero de
bloqueo extraño (e ilegal) o si el fichero de bloqueo no se
pudiera crear por falta de permisos o subdirectorios inexistentes.
- Lost "x"
- Procmail intentó duplicarse pero no pudo encontrar el
fichero_de_recursos "x" (ha sido eliminado o tenía una
ruta relativa ya ha cambiado del directorio desde que procmail lo
abrió la última vez).
- Missing action
- La receta actual está incompleta.
- Missing closing brace
- Se ha iniciado un bloque anidado que nunca termina.
- Missing name
- La opción -f necesita un argumento extra.
- Missing argument
- Ha especificado la opción -a pero olvidó el argumento.
- Missing rcfile
- Ha especificado la opción -m , procmail espera el nombre de un
fichero_de_recursos como argumento.
- Missing recipient
- Ha especificado la opción -d o llamó a procmail bajo un
nombre diferente, espera uno o más recipientes como argumentos.
- No space left to finish writing "x"
- El sistema de ficheros que contiene "x" no tiene suficiente
espacio libre para permitir la entrega del mensaje al fichero.
- Out of memory
- Al sistema no le queda espacio de intercambio (swap) (y NORESRETRY se ha
agotado).
- Processing continued
- Las opciones no reconocidas de la línea de mandatos se ignoran, se
prosigue de forma normal.
- Program failure (nnn) of "x"
- El programa que inició procmail devolvió nnn en lugar de
EXIT_SUCCESS (=0); Si nnn es negativo, esta es la señal por la que
murió el programa.
- Quota exceeded while writing "x"
- El tamaño de la quota de ficheros del recipiente en el sistema de
ficheros que contiene a "x" no permite la entrega del mensaje al
fichero.
- Renaming bogus "x" into "x"
- El buzón del sistema del recipiente es inútil, procmail
realiza acciones evasivas.
- Rescue of unfiltered data succeeded/failed
- Un filtro falló, procmail intentó devolver el texto
original.
- Skipped: "x"
- No pudo hacer nada con "x" en el fichero_de_recursos (error de
sintaxis), ignorándolo.
- Suspicious rcfile "x"
- El propietario del fichero_de_recursos no era el recipiente o root, el
fichero tenía permiso global de escritura, el directorio que lo
contenía tenía permiso global de escritura, o es el
fichero_de_recursos por defecto ($HOME/.procmailrc) y tenía permiso
de escritura para el grupo o o el directorio que lo contiene tenía
permiso de escritura para el grupo (el fichero_de_recursos no se
usó).
- Terminating prematurely whilst waiting for ...
- Procmail recibió una señal mientras esperaba ...
- Timeout, terminating "x"
- Timeout has occurred on program or filter "x".
- Timeout, was waiting for "x"
- Ha pasado el temporizador en el programa, filtro o fichero "x".
Si era un programa o filtro, entonces no parece ejecutarse más.
- Truncated file to former size
- El el fichero no se pudo entregar con éxito, el fichero se
truncó a un tamaño adecuado.
- Truncating "x" and retrying lock
- "x" no parece un nombre de fichero válido o el fichero no
está vacío.
- Unable to treat as directory "x"
- Either the suffix on "x" would indicate that it should be an MH
or maildir folder, or it was listed as an second folder into which to
link, but it already exists and is not a directory.
- Unexpected EOL
- Falta cerrar comillas o se intenta proteger un EOF.
- Unknown user "x"
- El recipiente especificado no tiene un uid adecuado.
DIAGNÓSTICOS EXTENDIDOS¶
Los diagnósticos extendidos se pueden activar o desactivar
fijando la variable VERBOSE.
- [pid] time & date
- El pid de procmail y la marca de tiempo. Generado cuado procmail registra
un diagnótico y ha transcurrido al menos un segundo desde la
última marca de tiempo.
- Acquiring kernel-lock
- Procmail ahora intenta un bloqueo del núcleo del fichero
(descriptor) abierto más reciente.
- Assigning "x"
- Asignación de variable de entorno.
- Assuming identity of the recipient, VERBOSE=off
- Eliminado todoslo privilegios (si exisen), desctiva implícitamente
los diagnísticos extendidos.
- Bypassed locking "x"
- El directorio de spool de correo ne es accesible para procmail,
éste depende únicamente de los bloqueos del núcleo.
- Executing "x"
- Iniciando el programa "x". Si se inició por procmail
directamente (sin una shell intermedia), procmail mostrará donde
separó los argumentos insertando comas.
- HOST mismatched "x"
- Este host se llamó "x", HOST contenía algo
más.
- Locking "x"
- Creando el fichero de bloque "x".
- Linking to "x"
- Creando enlaces duros entre carpetas de directorios
- Match on "x"
- Concordancia con la condición.
- Matched "x"
- Asignado "x" a MATCH.
- No match on "x"
- La condición no concordaba, receta saltada.
- Non-zero exitcode (nnn) by "x"
- Program that was started by procmail as a condition or as the action of a
recipe with the `W' flag returned nnn instead of EXIT_SUCCESS (=0); the
usage indicates that this is not an entirely unexpected condition.
- Notified comsat: "$LOGNAME@desplazamiento:fichero"
- Enviado a comsat/biff una notificación de que ha llegado correo
para $LOGNAME en `desplazamiento' en `fichero'.
- Opening "x"
- Abiendo fichero "x" para añadir.
- Rcfile: "x"
- fichero_de_recursos cambiado a "x".
- Reiterating kernel-lock
- Mientras intentaba varios métodos de bloqueo, uno de estos
falló. Procmail reintentará hasta que todos tengan
éxito en una rápida sucesión.
- Score: added newtotal "x"
- Esta condición puntuó `added' puntos, queresulta en una
puntuación `newtotal'.
- Unlocking "x"
- Eliminado fichero de bloqueo "x" de nuevo.
AVISOS¶
Debería crear un guion de shell que use lockfile(1) antes de llamar a su shell de correo sobre cualquier fichero buzón distinto del buzón del sistema (salvo, por supuesto, que su shell de correo use el mismo fichero de bloqueo (local o global) que especificó en su fichero_de_recursos).
En el caso improbable de que necesite absolutamente matar al procmail antes de que haya acabado, primero intente y use la orden regular kill (i.e. no kill -9, véase la subsección Signals para sugerencias), en otro caso algún fichero de bloqueo podría no eliminarse.
Tenga cuidado cuando use la opción -t, si procmail repetidamente es incapaz de de entregar el correo (v.g. debido a un fichero_de_recursos incorrecto), la cola de correo del sistema podría llenarse. Esto podría molestar al postmaster local y a otros usuarios.
El fichero /etc/procmailrc se podría ejecutar con privilegios de root, por tanto, tenga cuidado con lo que pone en él. SHELL será igual a la del recipiente actual, por tanto, si procmail tiene que llamar a la shell, mejor la pone prrimero como un valor seguro. Véase también : DROPPRIVS.
Tenga en cuenta que si se permite chown(1) en ficheros de /etc/procmailrcs/, se pueden cambiar a root (o cualquier otro) por sus actuales propietarios. Para una seguridad máxima, esté seguro de que este directorio es ejecutable sólamente por root.
Procmail no es la herramienta adecuada pra compartir un
buzón entre varios usuarios, tales como cuando tiene una cuenta POP3
para todo el correo de su dominio. Se puede hacer si configura su MTA para
añadir algunas cabeceras con los datos del sobre del recipiente para
decir a procmail para quien es el mensaje, pero esto normalmente no es la
forma correcta de hacerlo. Quizás quiera investigar si su MTA se
ofrece `tablas de usuarios virtuales' o ver v.g. la facilidad `multidrop' de
Fetchmail.
ERRORES¶
Tras eliminar un fichero de bloqueo por la fuerza, procmail espera $SUSPEND segundos antes de de crear un nuevo fichero de bloqueo de forma que otro proceso que decida eliminar el fichero de bloqueo viejo no eliminará por error el nuevo bloqueo creado.
Procmail usa la señal regular TERMINATE para terminar cualquier filtro que esté corriendo, pero no verifica si el filtro responde a esa señal y solo la envía al propio filtro, no a los hijos del filtro.
Un campo Content-Length: que continúe no se gestiona
correctamente.
MISCELÁNEA¶
Si existe un campo Content-Length: en la cabecera del correo y no se ha especificado la opción -Y, procmail eliminará espacios para indicar el tamaño correcto. Procmail no cambia el ancho de campo.
Si no existe campo Content-Length: o se ha especificado la opción -Y y procmail añade a buzones regulares, cualquier línea del cuerpo del mensaje que parezca un marca de correo se precede con `>' (desactiva falsas cabeceras). La expresión regular que se usa para buscar estas marcas de correo es:
`\nFrom '
If the destination name used in explicit delivery mode is not in /etc/passwd, procmail will proceed as if explicit delivery mode was not in effect. If not in explicit delivery mode and should the uid procmail is running under, have no corresponding /etc/passwd entry, then HOME will default to /, LOGNAME will default to #uid, USER_SHELL will default to /bin/sh, and ORGMAIL will default to /tmp/dead.letter.
Cuando está en modo de entrega explícito, procmail generará una línea `From' inicial si no está presente. Si alguna está ya presente, procmail la dejará intacta. Si procmail no se llama con alguno de los siguientes identificadores de usuario o grupo : root, daemon, uucp, mail, x400, network, list, slist, lists o news, pero todavía tiene que generar o aceptar una nueva línea `From ', generará una línea `>From ' inicial para ayudar a distinguir correos falsos.
Por razones de seguridad, procmail solo usará un fichero_de_recursos absoluto o relativo a $HOME si es propiedad del recipiente o root, si permiso de escritura global y el directorio que lo contiene no tiene permiso de escritura global. El fichero $HOME/.procmailrc tiene la restricción adicional de no tener permiso de escritura para el grupo ni el directorio que lo contiene tampoco.
Si /var/spool/mail/$LOGNAME es un buzón inviable (i.e. no pertenece al recipiente, no se puede escribir, es un enlace simbólico o es un enlace duro), procmail al empezar intentará renombrarlo como un fichero empezando por `BOGUS.$LOGNAME.' y terminando en un código de secuencia de i-nodo. Si esto resulta imposible ORGMAIL no tendrá valor inicial, y por tanto se inhibirá de la entrega sin un fichero de fichero_de_recursos adecuado.
Si /var/spool/mail/$LOGNAME es ya un buzón válido, pero tiene que perder muchos permisos, procmail corregirá esto. Para prevenir que procmail haga esto, esté seguro de poner el bit u+x.
Cuando se entregue a directorios (o carpetas MH) no necesita usar ficheros de bloqueo para prevernir varios procmail en ejecución concurrentes lo estropeen.
La entrega a carpetas MH consume ligeramente más tiempo que la entrega a directorios normales o buzones, ya que procmail tiene que buscar el suiguiente número disponible (en lugar de tener el nombre de fichero disponible de forma inmediata).
En caso de fallo general procmail devolverá EX_CANTCREAT, salvo que se especifique la opción -t, en cuyo caso devolverá EX_TEMPFAIL.
Para hacer un `egrep' más consistente de las cabeceras, procmail concatena todos los campos de cabecera continuados; pero solo interamente. Cuando se entregue el correo, las rupturas de línea aparecerán como antes.
Si procmail se llama bajo un nombre que no empieza por `procmail' (v.g. si está enlazado a otro nombre y es llamado como tal), se pone en modo de entrega explícito, y espera los nombres de recipientes como argumentos de la línea de mandato (como si se hubiera especificado -d ).
Las notificaciones comsat/biff se realizan usando udp. Se envían una vez que procmail genera la entrada regular al fichero de registo. La notificación de mensajes tiene el siguiente formato extendido (o tan parecido como se pueda cuando la entrega fial no sea un fichero):
$LOGNAME@desplazamiento_del_mensaje_en_buzón :ruta_absoluta_al_buzón
Cuando el mismo procmail abre un fichero para entregar, usa la siguiente estrategia de bloqueo del núcleo : fcntl(2).
Procmail resistente a NFS-resistant y procesa los 8 bits.
NOTAS¶
La llamada a procmail con las opciones -h o -? hará que muestre una ayuda en la línea de mandatos de una página de referencia rápida y las banderas de las recetas.
Existe una PUF (FAQ) excelente para novatos sobre filtros de correo (y procmail en particular), la mantiene Nancy McGough <nancym@ii.com> y se puede obtener enviando un mensaje a mail-server@rtfm.mit.edu con lo siguiente en el cuerpo:
send usenet/news.answers/mail/filtering-faq
En lugar de usar la llamada de procmail proporcionada por el sistema cuando llega el correo, puede controlar la llamada Vd. mismo. En este caso su fichero $HOME/.forward (tenga cuidado, tiene que tener permiso global de lectura) debería contener la línea de abajo. Esté seguro de incluir las comillas dobles y simples, y tiene que ser una ruta absoluta.
" |exec /usr/bin/procmail"
Some mailers (notably exim) do not currently accept the above syntax. In such case use this instead:
|/usr/bin/procmail
Procmail también se puede llamar para procesar a posteriori un buzón del sistema lleno con anterioridad. Esto puede ser útil si no quiere o no puede un fichero $HOME/.forward (en cuyo caso el siguiente guión se podría llamar periódicamente desde cron(1), o cuando empiece a leer el correo):
#!/bin/sh ORGMAIL=/var/spool/mail/$LOGNAME if cd $HOME &&
test -s $ORGMAIL &&
lockfile -r0 -l1024 .newmail.lock 2>/dev/null then
trap "rm -f .newmail.lock" 1 2 3 13 15
umask 077
lockfile -l1024 -ml
cat $ORGMAIL >>.newmail &&
cat /dev/null >$ORGMAIL
lockfile -mu
formail -s procmail <.newmail &&
rm -f .newmail
rm -f .newmail.lock fi exit 0
Un pequeño ejemplo de $HOME/.procmailrc:¶
PATH=/usr/local/bin:/bin:/usr/bin MAILDIR=$HOME/Mail #you'd better make sure it exists DEFAULT=$MAILDIR/mbox #completely optional LOGFILE=$MAILDIR/from #recommended :0: * ^From.*berg from_me :0 * ^Subject:.*Flame /dev/null
Se pueden encontrar otros ejemplos de recetas de fichero_de_recursos en la página del manual procmailex(5).
SOURCE¶
Este programa es parte del paquete de procesamiento de correo procmail (v3.24) disponible en http://www.procmail.org/ o ftp.procmail.org en pub/procmail/.
MAILINGLIST¶
Existe un lista de correo para cuestiones relacionadas con cualquier programa del paquete procmail:
<procmail-users@procmail.org>
para enviar preguntas/respuestas
para solicitudes de suscripción.
Si quisiera estar informado sobre nuevas versiones y parches oficiales
envíe una solicitud de suscripción a
procmail-announce-request@procmail.org
AUTORES¶
Stephen R. van den Berg
<srb@cuci.nl>
TRADUCCIÓN¶
La traducción al español de esta página del manual fue creada por Pedro Pablo Fábrega <pfabrega@arrakis.es>
Esta traducción es documentación libre; lea la GNU General Public License Version 3 o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD.
Si encuentra algún error en la traducción de esta página del manual, envíe un correo electrónico a debian-l10n-spanish@lists.debian.org.
BuGless |