FORMAIL
Section: User Commands (1)
Updated: 1999/01/20
Index Return to Main
Contents
NOMBRE
formail - (re)formateador de correo
SINOPSIS
formail [+skip] [-total]
[-vbczfrktedqBY] [-p prefijo]
[-D maxlong idcache]
[-x campo_cabecera] [-X
campo_cabecera]
[-a campo_cabecera] [-A
campo_cabecera]
[-i campo_cabecera] [-I
campo_cabecera]
[-u campo_cabecera] [-U
campo_cabecera]
[-R viejocampo nuevocampo]
[-n [maxprocs ]] [-m mincampos]
[-s [command [arg ...]]]
DESCRIPCIÓN
formail es un filtro que se puede usar para forzar correo en
un formato de buzón, proteger `From', generar cabeceras de
autorespuesta, hacer simples transformaciones/extracciones o
dividir un fichero de buzón/recopilación/artículos. Los contenidos
de correo/buzón/artículos se esperan de la entrada estándar.
Si formail se supone que tiene que determinar el remitente del
mensaje pero es incapaz de encontrarlo, lo sustituirá por
`foo@bar'.
Si formail se inicia sin opciones en la línea de mandatos,
forzará cualquier correo que llegue de la entrada estándar al
formato de buzón y protegerá todos las líneas `From '
ficticias con un `>'.
OPCIONES
- -v
- Formail mostrará su número de versión y sale.
- -b
- No protege ninguna cabecera de buzón ficticia (i.e. las líneas
que empiezan por `From ').
- -p prefijo
- Define un prefijo diferente para las citas (del original). Si
no es especifica el valor por defecto es `>'.
- -Y
- Supone el formato tradicional de buzón de Berkeley, ignorando
los campos Content-Length:.
- -c
- Concatena los campos de la cabecera que continúan. Podría ser
conveniente cuando se postprocesa correo con utilidades de texto
estándares (orientadas a línea).
- -z
- Asegura que existen los espacios en blanco entre el nombre de
campo y el contenido. Borra los campos que contienen sólo un simple
carácter de espacio. Borra los espacios en blanco iniciales u
finales en campos extraídos con -x.
- -f
- Fuerza a formail a simplemente pasar sobre cualquier formato no
de buzón (i.e. no genera una línea `From ' como primera
línea).
- -r
- Genera una cabecera auto-respuesta. Esto normalmente elimina
todos los campos existentes (salvo X-Loop:) del mensaje original,
los campos que quiera conservar necesitan indicarse usando la
opción -i. Si usa esta opción conjuntamente con -k,
puede prevenir que el cuerpo sea `protegido' especificando
-b.
- -k
- Cuando genere la cabecera auto-respuesta o cuando extraiga
campos, mantiene el cuerpo también.
- -t
- Confía que el remitente ha usado una dirección de respuesta
válida en su cabecera. Esta opción será más útil cuando genere
cabeceras de auto-respuestas de artículos de noticias. Si esta
opción no está activa, formail tiende a favorecer direcciones
generadas por la máquina en la cabecera.
- -s
- La entrada se dividirá en dos mensajes de correo separados, y
dirigidos a un programa uno a uno (se inicia un nuevo programa por
cada parte). -s tiene que ser la última opción especificada,
el primer argumento que lo siga se espera que sea un nombre de
programa, cualquier otro argumento se pasará. Si omite el programa,
entonces formail simplemente concatena lo correos divididos en la
salida estándar de nuevo. Véase FILENO.
- -n [maxprocs]
- Le dice a formail que no espere que cualquier programa termine
antes de empezar el siguiente (hace que las divisiones sean
procesadas en paralelo). Maxprocs especifica, opcionalmente
un límite superior de número de procesos en ejecución
concurrente.
- -e
- No requiere que líneas vacías precedan las cabeceras de un
nuevo mensaje (i.e. los mensajes podrían empezar en cualquier
línea).
- -d
- Le dice a formail que los mensajes que supone dividir no
necesitan estar en un formato de buzón estricto (i.e. permite
dividir recopilaciones/artículos en formatos de buzón no
estándares). Esto desactiva el reconocimiento del campo
Content-Length:.
- -B
- Hace que formail suponga que está dividiendo un fichero BABYL
rmail file.
- -m mincampos
- Le permite especificar el número de campos de cabecera
consecutivos que formail necesita encontrar antes de que decida que
ha encontrado el comienzo de un nuevo mensaje, por defecto a
2.
- -q
- Le dice a formail que (aunque detecte pero) no haga nada sobre
errores de escritura, mensajes duplicados y campos
Content-Length: inconsistentes. Esta opción está activa por
defecto, para hacer que muestre los mensajes use -q-.
- -D maxlen idcache
- Formail detectará si el Message-ID del mensaje actual ya ha
sido visto usando un fichero idcache de un tamaño aproximado
maxlen Si no divide, devolverá el código de salida correcta
si ha encontrado un duplicado. Si divide, no sacará mensajes
duplicados. Si se usa conjuntamente con -r, formail mirará
en su lugar la dirección de correo del remitente en
el Message-ID.
- -x campo_cabecera
- Extrae el contenido de este campo_cabecera de la
cabecera, lo muestra como una simple línea.
- -X campo_cabecera
- Lo mismo que -x, pero también conserva el nombre de
campo.
- -a campo_cabecera
- Añade un campo_cabecera personalizado en la cabecera;
pero sólo si no existe un campo similar con anterioridad. Si
especifica algunos de los nombres de campo Message-ID: o
Resent-Message-ID: sin contenido de campo, formail generará
un único message-ID para vd.
- -A campo_cabecera
- Añade un campo_cabecera personalizado en el cabecera en
cualquier caso.
- -i campo_cabecera
- Lo mismo que -A, salvo que cualquier campo similar
existente se renombran anteponiéndolo un prefijo ``Old-''. Si
campo_cabecera consiste sólo en un nombre de campo, no se
añadirá.
- -I campo_cabecera
- Lo mismo que -i, salvo que cualquier campo similar
existente simplemente se elimina. Si campo_cabecera consiste
sólo en un nombre de campo, borra de forma efectiva el campo.
- -u campo_cabecera
- Hace única la primera ocurrencia de este campo, y así pues,
borra todas las apariciones posteriores.
- -U campo_cabecera
- Hace única la última ocurrencia de este campo, y así pues,
borra todas las apariciones previas.
- -R oldfield newfield
- Renombra todas las ocurrencias del campo oldfield a
newfield.
- +skip
- Salta el primer mensaje skip cuando divide.
- -total
- Saca como máximo total mensajes mientras divide.
ENTORNO
- FILENO
- Mientras divide, procmail asigna el número de mensaje que sale
actualmente a esta variable. Prefijando FILENO, puede cambiar el
número de mensaje inicial usado que se está usando y la amplitud de
la salida rellena de ceros. Si FILENO no está vacío y no contiene
un número, se desactiva la generación de FILENO.
EJEMPLOS
Para dividir un compendio uno normalmente usa:
- formail +1 -ds >>el_buzón_elegido
o
- formail +1 -ds procmail
To remove all Received: fields from the header:
- formail -I Received:
Para eliminar todos los campos salvo From: y Subject: de la
cabecera:
- formail -k -X From: -X Subject:
Para suplantar el campo Reply-To: de una cabecera podría
usar:
- formail -i "Reply-To: foo@bar"
Para convertir un fichero buzón no estándar en un fichero
estándar de buzón puede usar:
- formail -ds <old_mailbox >>new_mailbox
O, si tiene yn mailer muy tolerante:
- formail -a Date: -ds <old_mailbox >>new_mailbox
Para extraer la cabecera de un mensaje:
- formail -X ""
o
- sed -e '/^$/ q'
Para extraer el cuerpo de un mensaje:
- formail -I ""
or
- sed -e '1,/^$/ d'
VÉASE TAMBIÉN
mail(1),
binmail(1),
sendmail(8),
procmail(1),
sed(1),
sh(1),
RFC822, RFC1123
DIAGNÓSTICOS
- Can't fork
- Demasiados procesos en esta máquina.
- Content-Length: field exceeds actual length by nnn bytes
- El campo de la cabecera The Content-Length: especifica una
longitud superior al cuerpo actual. Esto hace que este mensaje
absorba cierto número de mensajes posteriores del mismo buzón.
- Couldn't write to stdout
- El programa sobre el que formail trataba de usar la tubería no
aceptó todos los datos que formail le envió; este diagnóstico se
puede suprimir con la opción -q .
- Duplicate key found: x
- Se encontró el Message-ID o remitente x de este mensaje en
idcache; este diagnóstico se puede suprimir con la opción -q
.
- Failed to execute "x"
- El programa no está en la ruta de ejecutables o no es
ejecutable.
- File table full
- Demasiados ficheros abiertos en esta máquina.
- Invalid field-name: "x"
- El nombre de campo "x" especificado contiene caracteres de
control o no puede ser un nombre de campo parcial para esta
opción.
ADVERTENCIAS
Se puede ahorrar Vd. y a otros muchos dolores de cabeza si intenta
evitar esta posibilidad de autorespuesta en correos que llegan a
través de lista de correo. Dependiendo del formato del correo
entrante (que depende por turnos del agente de correo del remitente
y de la configuración de la lista de correo), formail podría
decidir generar una cabecera de autorespuesta que responda a la
lista.
FALLOS (BUGS)
Cuando formail tiene que generar una línea `From' inicial,
normalmente contendrá la fecha actual. Si se ha dado a formail la
opción `-a Date:', usará la fecha del campo `Date:' de la cabecera
(si existe). Sin embargo, como formail lo copia literal , el
formato diferirá del esperado por la mayoría de los lectores de
correo.
Si formail está preparado para borrar o renombrar la línea `From
' inicial no la regenerará automáticamente como es normal. Para
forzar a formail para que regenere en este caso incluya -a 'From
'.
Si formail no se llama como el primer programa de una tubería y
se le dice que divida la entrada en varios mensajes, formail no
terminará hasta que el programa del que recibe la entrada
termine.
Si formail está preparado para generar correo de autorespuesta,
nunca pondrá más de una dirección en el campo `To:'.
MISCELÁNEA
Formail procesa los ocho bits.
Cuando formail tiene que determinar la dirección del remitente,
se permite cualquier dirección conforme con RFC822. Formail
siempre pondrá la dirección a su forma mínima (eliminando
comentarios excesivos y espacios en blanco).
La expresión regular que se usa para encontrar un marca de
correo `real' postmarks es:
- "\n\nFrom [\t ]*[^\t\n ]+[\t ]+[^\n\t ]"
Si se encuentra un campo Content-Length: en una cabecera,
formail copiará el número de bytes especificados en el cuerpo
literal antes de reiniciar la búsqueda regular de límites del
mensaje (salvo cuando se dividen recopilaciones o se supone un
formato de buzón de Berkeley).
NOTAS
Llamar a procmail con las opciones -h o -? hará que muestre una
página de ayuda de la línea de comando.
ORIGEN
Este programa es parte del paquete de procesamiento de correo
procmail (v3.13.1) disponible en http://www.procmail.org/ o ftp.procmail.org en
pub/procmail/.
LISTA DE CORREO
Existe una lista de correo para cuestiones relativas a cualquier
programa del paquete procmail:
- <procmail-users@procmail.org>
- para enviar preguntas/respuestas.
<procmail-users-request@procmail.org>
- para solicitudes de suscripción.
Si tuviera interés en estar informado sobre nuevas versiones y
parches oficiales envíe un solicitud de suscripción a
- procmail-announce-request@procmail.org
(esta es una lista de sólo lectura).
AUTOR
Stephen R. van den Berg
- <srb@cuci.nl>
Index
- NOMBRE
- SINOPSIS
- DESCRIPCIÓN
- OPCIONES
- ENTORNO
- EJEMPLOS
- VÉASE TAMBIÉN
- DIAGNÓSTICOS
- ADVERTENCIAS
- FALLOS (BUGS)
- MISCELÁNEA
- NOTAS
- ORIGEN
- LISTA DE CORREO
- AUTOR
This document was created by man2html, using
the manual pages.
Time: 20:28:07 GMT, January 21, 2005