Animail


Índice

1. Opciones de linea de comandos
2. El sistema de filtrado
2.1 Combinando Animail con otros filtros (SpamAssasin, procmail, etc)
3. Referencia de configuración del animailrc
3.1 Opciones de servidor
3.2 Opciones globales
3.3 Opciones de Post-Filtros
4. Trucos

1. Opciones de línea de comandos

--help ó -H

Muestra la ayuda

-o [arrival | small | big] ó --download-order=[arrival | small | big]

-f [archivo] ó --mbox-file=[archivo]

-v ó --verbose

Modo locuaz.

-s [tamaño] ó --max-size=[tamaño]

Especifica el tamaño máximo (en bytes) de los mensajes a descargar.

-n [max] ó --max-to-download=[max]

Especifica el número máximo de mensajes a descargar.

-S ó --deliver-smtp

Reenviar todos los mensajes al SMTP local (activada por defecto).

-B ó --syslog-output

Escribe toda la salida del programa al Syslog

-t ó --quiet

Modo silencioso

-F ó --only-filter

No descargar, sólo filtrar

-l ó --no-summary

No mostrar el resumen

-C ó --check

Comprobar cuanto correo nuevo tenemos en cada servidor e imprimirlo, pero no descargarlo. La salida es muy fácil de analizar por otros programas. Además, el programa devolverá 1 si hay correo nuevo y 0 en el caso contrario.

-M ó --fetchmail

Lo mismo que -C pero con una salida compatible con la de Fetchmail.

-O ó --only-from

Descargar sólo los mensajes de la lista (separada por comas) pasada como argumento en esta ejecución. Los servidores pasados como parámetros son alias a servidores NO direcciones de internet de servidores (de modo que tendrá que tener configurada la opción "Alias:" en su .animailrc para los servidores en los que quiera poder utilizar esta opción).


2. El sistema de filtrado

El sistema de filtrado de Animail cuenta con tres elementos:
  1. El fichero de aceptados
  2. El fichero de denegados
  3. Los mensajes postergados
El primer fichero, el de aceptados, consiste (como el de denegados) en un fichero que contiene una lista de expresiones regulares (man regexp), una por línea, que de concordar con la cabecera del mensaje que se está descargando en ese momento provocará que el mensaje sea aceptado automáticamente, sin tener que pasar por los filtros del fichero de denegados. Estas expresiones, normalmente, concordarán (si lo estamos utilizando) con una lista de amigos, socios, listas de correo, etc, de las que sepamos positivamente que no son spammers (al menos de momento).

La ruta al fichero de aceptados se especifica en el animailrc con:
FicheroAceptados: /ruta/a/fichero #Por ejemplo: FicheroAceptados: /home/test/.animail/aceptados

La mera inclusión de este comando en el animailrc activa el uso del fichero.

El segundo componente, como puede adivinarse, es igual en formato al fichero de aceptados, pero en lugar de provocar que los mensajes que concuerden con una de sus expresiones sean automáticamente aceptados hace justo lo contrario: Son borrados del servidor sin llegar a descargarse (o al menos sólo habrá descargado la cabecera). En esta lista normalmente estarán incluidas las direcciones de personas o entidades de las que sepamos que se trata de spammers. Por supuesto al tratarse los componentes del archivo de expresiones regulares no sólo podemos especificar direcciones de correo, sino asuntos o partes de asunto, número de personas en el campo Cc: y casi cualquier otra cosa (las expresiones regulares son muy potentes.)

La ruta al fichero de denegados se especifica en el animailrc con:
FicheroFiltros: /ruta/a/fichero #Por ejemplo: FicheroFiltros: /home/test/.animail/filtros

La mera incluisión de este comando en el animailrc activa el uso del fichero.

Como puede verse hasta aquí, dependiendo de que usemos ninguno, uno o los dos archivos comentados, tendremos un sistema de filtrado u otro. Si sólo utilizamos el fichero de denegados (Animail sólo permitía esto hasta la versión 1.1.28) estaremos utilizando un clásico esquema de 'lista negra'. Este esquema funcionaba bastante bien en 1998, cuando Animail empezó a desarrollarse, porque no había tantos spammers y la mayoría del correo basura llegaba de unos pocos muy pesados. Desgraciadamente en la actualidad este esquema de filtrado se queda corto porque los spammers cambian frecuentemente de dirección, y son muchos (con direcciones distintas, obviamente). Una posible solución a esto sería intentar buscar una serie de expresiones regulares muy genéricas, filtrando palabras como 'dinero y mucho' o 'vivir eternamente' o 'ofertas' en el asunto. Desgraciadamente esto puede causar que de vez en cuando se borren mails legítimos (pensemos en un amigo que nos manda un email con el asunto: "tengo un trabajo para ti con el que podrías ganar mucho dinero".)

Para solucionar esto Animail, a partir de la versión 1.1.28 permite otros dos esquemas de filtrado (inpirados por la idea que utiliza el software TMDA pero aplicado a un nivel distintos (TMDA se distribuye con licencia BSD, Animail no comparte código con él, sólo la idea):

  1. Denegar todo lo que no esté en la lista de aceptados
  2. Poner los mensajes que no estén en la lista de aceptados ni el la de filtros como 'postergados' y mandar un mensaje educado al enviante que requiera una respuesta.

El primer esquema es bastante agresivo, pero puede resultar interesante a personas que o bien sólo quieran recibir correo de una cantidad muy limitada de personas (quizás porque reciban cientos de correos diarios, ¿famosos?) o bien sólo deseen recibir email desde unas fuentes determinadas (como listas de correo o el dominio del trabajo). Para utilizar este esquema además de la ruta al fichero de aceptados añadiremos al animailrc en su sección <global>:

NoEnFicheroAcceptar: Borrar

El segundo esquema, sin duda más útil para la mayoría de la gente, es algo más complicado de explicar que de utilizar; cada vez que recibamos un email de una persona que no esté en la lista de aceptados (en cuyo caso se acepta sin más) o en la lista de denegados (se borra sin más) se pone el mensaje 'a la espera' en el directorio animailDelayed que se encuentra bajo el directorio .animail del directorio de usuario (en concreto los mensajes se colocan en un buzón con el nombre de la dirección de email del enviante) y se envía un mensaje de vuelta que indica porqué su mensaje ha sido postergado y como hacer que ese mensaje (o todos los que haya enviado hasta ese momento) se entreguen (respondiendo a ese mensaje sin cambiar el asunto). Una vez el enviante ha respondido al mensaje del Animail, cuando esta respuesta se descargue se hará la entrega de todos los mensajes pendientes de ese origen, y se añadirá a la lista de aceptados (puede configurarse que no se añada a la lista de aceptados automáticamente, ver la referencia de comandos globales, comando AutoAceptarConfirmaciones.)

Es importante, si utilizamos este esquema, que añadamos nosotros mismos las direcciones de las distintas listas de correo a las que estamos subscritos, así como los mensajes automáticos que se nos envían periódicamente al fichero de aceptados, especialmente antes de subscribirnos a una lista de correo pues los sistemas de subscripción automáticos no se suelen entender bien con Animail (una forma de hacer esto es incluir la palabra 'subscribe' en el fichero de aceptados, pero es recomendable añadir la dirección de la lista igualmente.) En cualquier caso cuando se muestre el resumen de la operación se indicarán los orígenes de los mensajes postpuestos y si durante algún tiempo nos fijamos en ellos y vamos añadiendo las direcciones que no puedan responder al mensaje al final tendremos un fichero de aceptados muy apto.

En el caso de que queramos recuperar los mensajes de uno de los buzones postergados tan sólo tenemos que abrir el buzón con el origen deseado y desde allí leer los mensajes, o reenviarnoslos a nuestro usuario para que siga el curso normal de correo. El formato utilizado en esos buzones es el MBox, y casi cualquier cliente de Unix debería ser capaz de abrirlos (por ejemplo, mutt con la opción -f).

2.1 Combinando Animail con otros filtros (SpamAssasin, procmail, etc)


Como el título de esta sección sugiere, Animail puede utilizarse con otros filtros externos para combinar sus posibilidades de filtrado con las ya existentes en Animail. Estos filtros (podemos usar cualquier número de ellos) serán llamados justo tras descargar el mensaje y justo antes de realizar la entrega del mismo y dependiendo del valor devuelto o de cierta salida de ese filtro el mensaje podrá ser entregado con normalidad, ignorado, o copiado a un buzón alternativo de modo que podamos comprobar, leyendo ese buzón, que los filtros externos no están borrando algún mensaje importante. Todos los comandos utilizados en los ejemplos de esta sección están explicados con detalle en la sección Opciones de < PostFiltros>.

Usar esto es muy fácil, tan sólo hay que crear un nuevo bloque PostFiltro y configurarlo de la forma adecuada al programa externo que estemos utilizando. También pueden añadirse opciones adicionales para que se copien los mensajes filtrados a un buzón de reserva o para que se copie la salida del programa en lugar del mensaje en sí a ese mismo buzón (esto es útil para programas cuya salida es el mensaje original modificado, como SpamAssassin).

Todo esto es más fácil de ver con algunos ejemplos:

Bloque PostFiltro para SpamAssassin:
<PostFiltro>
NombrePostFiltro: SpamAssassin
Ruta: /usr/bin/spamassassin
SalidaDeProgramaAsesina: ^X-Spam-Flag: YES.*$
GuardarMensajesPostFiltrados: stdout
<PostFiltro>

El primer comando tras la etiqueta le da un nombre a el filtro (para que Animail lo imprima en la consola cuando lo esté aplicando). El comando "Ruta" aceptará como parámetro la ruta al ejecutable del filtro en nuestro sistema de archivos. El comando SalidaDeProgramaAsesina nos permite especificar una expresión regular que de concordar con la salida del programa (en este caso el email modificado que imprime SpamAssassin) hará que el mensaje sea filtrado y el último comando, GuardarMensajesPostFiltrados, sólo por el hecho de existir ya hará que Animail guarde los mensajes denegados por el filtro en un buzón temporal, y que como parámetro admite que es lo que se ha de guardar, en este caso la salida estándar de SpamAssassin.

Ahora tan sólo necesitamos poner en la sección Global:

MboxMensajesPostFiltrados: /home/suhome/spambox

para que los mensajes filtrados por SpamAssassin (en este caso) sean guardados en el buzón con formato mbox /home/suhome/spambox (este comando de configuración no sería necesario si no hemos activado en ninguna sección PostFiltro la opción GuardarMensajesPostfiltrados).

Más ejemplos:

Bloque PostFiltro para spamc (el cliente en C de SpamAssassin):
<PostFiltro>
NombrePostFiltro: SpamAssassin-spamc
Ruta: /usr/bin/spamc
ValoresDeRetornoAsesinos: 1
GuardarMensajesPostfiltrados: stdout
<PostFiltro>

Bloque PostFiltro para Bogofilter:
<PostFiltro>
NombrePostFiltro: Bogofilter
Ruta: /usr/bin/bogofilter
ValoresDeRetornoAsesinos: 0
#La siguiente podría ser sí o no en este caso: GuardarMensajesPostfiltrados: si
<PostFiltro>

Cómo añadir un bloque PostFiltro para otros comandos: Lo primero que hay que mirr es si el programa externo lee los emails que Animail le debe pasar desde su entrada estándar o se especifican como un fichero en sus argumentos de linea de comandos (quizás trás algún parámetro). En el primer caso no hace falta especificar nada en la configuración de ese PostFiltro pues la entrada estándar (stdin) es la forma por defecto de pasar los emails a los postfiltros. En el segundo caso debe escribirse dentro de la sección PostFiltro: DarMensajePorStdin: No y en el comando "Opciones:" dentro de este mismo bloque poner un '%M' (sin las comillas) donde pondríamos la ruta al mensaje si estuviéramos ejecutando el postfiltro a mano desde la linea de comandos, además de cualquier otra opción.

Ahora hay que fijarse en si el filtro externo informa de si un mensaje es o no es spam; Animail puede manejar dos casos distintos: Cuando el programa devuelve algún valor de retorno especial en ese caso (como 'Bogofilter' devolviendo 0) o cuando el progrma saca por su salida estándar (stdout) o error estándar (stderr) alguna cadena de texto cuando encuentra un mensaje que es spam, como es el caso con SpamAssassin, que añade X-Spam-Flag: YES al email). En el primer caso el comando a utilizar es ValoresDeRetornoAsesinos: cuyo parámetro es una lista separado por comas (que podría contener tan sólo un elemento) de valores de retorno numéricos, y en el segundo caso el comando es SalidaDeProgramaAsesina: seguida de una o más expresiones regulares que tienen que concordar con la salida del programa cuando informa de que un email es spam.

Es posible también que un programa pueda informar de que un mensaje es spam de las dos formas (como el cliente C de SpamAssassin spamc); en este caso es posible asegurarse escribiendo ambos comandos en el bloque postfiltro (no son exclusivos). Finalmente, se debe decidir si queremos ver la salida del filtro trás cada ejecución del mismo (si hay alguna salida, claro) o quiere esconder esa salida (que aún así será analizada por Animail si se ha especificado la opción SalidaDeProgramaAsesina). Esto se hace con el comando MostrarSalidaFiltro que puede tener los valores si o no (por defecto: no).

Finalmente se tiene que decidir si se quiere que los mensajes filtrados por ese programa externo sean copiados a otro buzón (yo lo llamo 'spambox') donde se podrán examinar después para detectar falsos positivos (mensajes que no son spam etiquetados como tal). Esto se hace con el comando GuardarMensajesPostfiltrados que puede tener los valores 'si' para copiar los mensajes originales al buzón de reserva, 'no' para que no se copien o 'output' paara que se copie la nueva versión del email que el programa externo imprime por su salida estándar (stdout) en lugar de el mensaje original. Esta última posibilidad es útil con filtros como SpamAssassin que imprimen por su salida estándar una nueva versión del email pasado por su entrada estándar, con información adicional sobre la decisión tomada para ese mensaje. Adicionalmente, si hemos especificado cualquier parámetro que no sea 'no' en GuardarMensajesPostfiltrados tendremos que poner en la sección Global del animailrc el comando PostFilteredMailsMbox con una ruta (en la que tengamos permiso de escritura) al buzón de emails de reserva o Animail escribirá una advertencia cada vez que se deba copiar un mensaje a ese buzón y no se haya especificado la opción.

3. Referencia de configuración del animailrc

Nota: este archivo debe existir en el directorio de usuario de cada usuario de Animail, bajo el subdirectorio .animail. No hay un archivo de configuración global. Las versiones 1.1.x o 2.0.x buscan primero un fichero llamado animailrc en el directorio de usuario bajo el subdirectorio .animail, y sino lo encuentran buscan el ~/.animailrc2 y después el ~/.animailrc. Esto se ha hecho así para facilitar la convivencia de dos versiones de Animail y por compatibilidad con versiones anteriores.

Este archivo se compone de uno a más grupos de opciones de servidor y opcionalmente un grupo de opciones globales y uno o más de postfiltros. Cada grupo de servidor define las opciones de un servidor específico y el grupo de opciones globales define las opciones globales para todos los servidores. Cada grupo de postfiltros especificará las opciones para que Animail use un programa externo como ayuda al proceso de filtrado.

Los grupos de opciones de servidor se delimitan entre la etiqueta inicial <Servidor> y la etiqueta final </Servidor> , y las opciones globales se agrupan a su vez entre las etiquetas <Global> y </Global>, de modo que la estructura general de un archivo animailrc podría ser:

<Servidor>

[Opciones de servidor aquí]

</Server>

<Servidor>

[Opciones para otro servidor aquí]

</Server>

... [Más grupos de opciones de servidor si necesitáramos descargar el correo de más servidores]

<PostFiltro>

[Opciones de postfiltro aquí]

</PostFiltro>

<PostFiltro>

[Opciones de otro postfiltro aquí]

</PostFiltro>

<Global>

[Opciones globales aquí]

</Global>

Los comandos para cada grupo deben separarse de sus parámetros respectivos por un carácter dos puntos (:). Todos los nombres de opciones y parámetros booleanoos (si/no) son indiferentes a mayúsculas y minúsculas.

3. Referencia de Opciones

3.1 Opciones de <Servidor>

Direccion:
Parámetro: Cadena o dirección IP en notación de puntos
Valor por defecto: localhost
Dirección de internet del servidor de correo entrante.

Protocolo:
Parametro: Cadena protocolo de correo entrante (POP3, IMAP4, APOP)
Valor por defecto: POP3
Protocolo de correo entrante a utilizar. Actúalemente los protocolos soportandos son POP3, APOP e IMAP4.

SSL:
Parámetro: booleano (si/no)
Valor por defecto: no
Especifica si usar o no el protocolo SSL (Secure Socket Layer) para las transferencias, siempre que el servidor remoto lo soporte. Actúalmente sólo funciona con POP3.

Puerto:
Parametro: numerico
Valor por defecto: 110 for POP3, 995 for POP3+SSL, 143 for IMAP4
Puerto a utilizar con el servidor de correo.

NombreUsuario: Parametro: cadena
Valor por defecto: None
Nombre de usuario que se utilizará para la cuenta con el servidor de correo entrante. Clave:
Parametro: cadena
Valor por defecto: None
Clave a utilizar con la cuenta con el servidor de correo entrante.

MantenerEnServidor:
Parametro: booleano (si/no)
Valor por defecto: no
Especifica si los mensajes deben borrarse del servidor de correo tras haberlos descargado o no. Esto es útil para hacer experimentos sin el riesgo de perder mensajes.

ReenviarA:
Parametro: Lista separada por comas de nombres de usuario o direcciones de correo
Valor por defecto: Usuario local ejecutando Animail
Especifica si se deben reenviar los mensajes descargados al usuario/s o dirección/es de correo especificadas. Si esta opción no se especifica los mensajes se enviarán al usuario que está ejecutando Animail. El parámetro puede ser una sóla dirección o varias separadas por comas.

Nota: Dependiendo de la configuración del servidor de correo local es posible que se tenga que especificar el dominio incluso con usuarios locales (añadiendo un sufico @localhost al nombre de usuario.)

Entrega_MBox:
Parametro: Cadena (ruta a archivo)
Valor por defecto: $HOME/mbox
Esta opción tiene preferencia para este servidor sobre el método de entrega configurado globalmente.

Activa la entrega de los mensajes de este servidor a un buzón de estilo mbox (un formato estándar de Unix que puede leerse con la mayoría de los clientes de correo convencionales), y espcifica la ruta al fichero mbox.

Entrega_Maildir:
Parámetro: Cadena (ruta a directorio)
Valor por defecto: $HOME/Maildir/
Esta opción tiene preferencia para este servidor sobre el método de entrega configurado globalmente.

Activa la entrega de los mensajes de este servidor a un buzón de estilo Maildir (como el utilizado por Qmail) y especifica la ruta al directorio Maildir como parámetro.

Entrega_MTALocal:
Parámetro: Booleano (si/no)
Valor por defecto: si
Esta opción tiene preferencia para este servidor sobre el método de entrega configurado globalmente.

Activa la entrega de los mensajes de este servidor a un MTA (Mail Transport Agent, Agente de Transporte de Correo o servidor de SMTP) local (localhost, puerto 25) utilizando el protocolo SMTP. Este es el método recomendado (y por defecto) de funcionamiento.

Entrega_tuberia
Parámetro: Cadena (linea de comando)
Valor por defecto: /usr/bin/sendmail -bm

Esta opción sobreescribe la opción que esté configurada globalmente para este servidor.

Activa la entrega de los mensajes de este servidor mediante el comando especificado como parámetro. El valor por defecto es /usr/bin/sendmail -bm.
Si se encuentra esta opción con otro valor Animail intentará utilizar el comando especificado para hacer la entrega de los mensajes descargador en lugar de utilizar el protocolo SMTP o cualquiera de los otros métodos de entrega soportados (actúalmente mbox y maildir). El parámetro puede ser cualquier comando que acepte mensajes con formato RFC822 en su entrada estándar. La dirección de destino de cada email se añadirá al comando al final antes de abrir la tubería de modo que si el comando necesita un parámetro especial para aceptar la dirección del destinatario necesita pasarma como último parámetro (por ejemplo, una linea para usar procmail como método de entrega podría ser procmail [otros_parametros] -f).


3.2 Opciones <Global>es

1. TamañoMáximo:

Parametro: numérico (en bytes)

Valor por defecto: ilimitado

Esta opción especifica el tamaño máximo en bytes que un mensaje puede tener para que se le descargue. Los que no sean descargados debido a su tamaño se dejarán en el servidor.

2. NumeroMaximo:

Parametro: numérico (número de emails)
Valor por defecto: ilimitado
Limita el número de mensajes a descargar en una sóla sesión. Los mensajes que no sean descargados se dejarán en el servidor. Si esta opción se omite, no habrá ningún límite al número de mensajes a descargar en una sola sesión.

3. Entrega_mbox:

Parametro: cadena (ruta a un archivo)
Valor por defecto: ~/mbox

Especifica que todos los mensajes descargados se escriban en el archivo especificado con formato Mbox (que puede ser leido por la mayoría de clientes de correo Unix convencionales).

Si se está utilizando un MTA local para la entrega (opción 'UsarMTALocal') esta opción queda anulada. Por defecto los mensajes se almacenan en ~/mbox

Esta opción puede ser anulada para ciertos servidores especificando distintas opciones de entrega dentro del bloque de opciones del servidor.

4. Entrega_maildir:

Parametro: cadena (ruta a un directorio)
Valor por defecto: $HOME/Maildir/

Activa la entrega de mensajes a un directorio Maildir (como los que usa Qmail) y especifica la rula al directorio (que debe existir previamente).

Esta opción puede ser anulada para ciertos servidores especificando distintas opciones de entrega dentro del bloque de opciones del servidor.

5. OrdenDeTransferencia:

Parametro: cadena (llegada, primeropequeños of primerograndes)
Valor por defecto: llegada
Especifica el orden de descarga de los mensajes basándose en su tamaño. Puede tener tres parámetros:

6. Entrega_MTALocal:

Parametro: booleano (si/no)
Valor por defecto: si
Si esta opción está especificada en el archivo de configuración Animail entregará cada mensaje descargado a un MTA local (localhost, puerto 25) utilizando el protocolo SMTP. Este es el modo de operación recomendado.

Esta opción puede ser anulada para ciertos servidores especificando distintas opciones de entrega dentro del bloque de opciones del servidor.

7. Entrega_tubería:
Parámetro: Cadena (linea de comando)
Valor por defecto: /usr/bin/sendmail -bm

Activa la entrega de los mensajes a través del comando espeficado mediante el parámetro. El valor por defecto es /usr/bin/sendmail -bm.

Si existe esta opción Animail intentará usar el comando especificado para realizar la entrega de los mensajes descargados en lugar de utilizar el protocolo SMTP o cualquiera de las otras formas de entrega (actúalmente mbox y maildir). El parámetro puede ser cualquier comando que acepte mensajes con formato RFC822 en su entrada estándar. La dirección de destino de cada email se añade al final de la linea del comando antes de abrir la tubería de modo que si el programa necesita algún parámetro especial para aceptar la dirección de destino se le ha de pasar como último parámetro (por ejemplo, una linea para procmail podría ser procmail [otros_parametros] -f).

Esta opción puede ser sobreescrita por los distintos servidores que especifiquen una forma de entrega distinta dentro de su bloque de servidor.

8. FicheroFiltros:

Parametro: ruta a fichero
Valor por defecto: ninguno (se ha de especificar)
Si se utiliza esta opción se activa el filtrado de mensajes basado en expresiones regulares aplicadas a la cabecera de cada mensaje. Las expresiones regulares deben escribirse en el archivo especificado como parámetro, una expresión regular por linea. Para más información consulte el apartado sobre el filtrado de mensajes.

9. FicheroAceptar:

Parámetro: ruta a fichero
Valor por defecto: ninguno (se ha de especificar)

Si se utiliza esta opción se activa la aceptación automática de mensajes basada en expreisones regulares aplicadas a las cabeceras de cada mensaje. Las expresiones regulares deben escribirse en el archivo especificado como parámetro, una expresión regular por línea. Para más información consulte el apartado sobre el filtrado de mensajes.

10. NoEnFicheroAceptar:

Parámetro: cadena ('nada', 'responder' o 'borrar')
Valor por defecto: 'nada'

Especifica la acción a realizar cuando un mensaje no concuerda con el fichero de aceptados o, en el caso de que esté especificada la opción, el fichero de filtros. Si se especifica 'borrar' los mensajes que no concuerden serán borrados, si se especifica 'responder' se enviará una respuesta pidiendo confirmación y si se responde nada... bien, no se hará nada. Para más información consulte el apartado sobre el filtrado de mensajes.

11. DireccionRespuesta:

Parámetro: cadena (dirección de correo electrónico)
Valor por defecto: nada (se debe especificar)

Dirección que Animail utilizará como dirección en el Reply to: de los automensajes que envíe.

12. AsuntoRespuesta:

Parámetro: cadena (asunto de correo)
Valor por defecto: 'Auto-generated message'

Asunto que se escribirá en las autorespuestas a los mensajes que no se admitan por no estar en la lista de autoaceptados. Sea cual sea el asunto que se especifique Animail añadirá al final la dirección especificada en el parámetro 'DireccionRespuesta' para no confundirse en el caso de que nos llegue un mensaje de otro Animail en respuesta a un email nuestro pidiendo confirmación: Animail utiliza el asunto configurado y esa dirección para identificar las respuestas a sus mensajes (el asunto no debe ser exactamente el mismo: Basta con que lo contenga, por ejemplo un 'Re:' antes del mensaje es aceptable), por lo que es muy importante que el usuario que genera la respuesta no lo cambie demasiado.

13. AsuntoConfirmacion

Parámetro: cadena (asunto de correo)
Valor por defecto: 'Ok, your messages have been delivered'

Asunto que se escribirá en las autorespuestas a las confirmaciones. Sea cual sea el asunto que se especifique Animail añadirá al final la dirección especificada en el parámetro 'DireccionRespuesta'.

14. ArchivoConRespuesta:

Parámetro: cadena (ruta a fichero)
Valor por defecto: Ninguno (en ese caso se utilizará el mensaje predeterminado que puede leerse en el archivo general.py de la distribución de Animail)

Fichero que contendrá el mensaje que se enviará en las respuestas a emails que no estén en la lista de aceptados ni de denegados. Si no se especifica nada se utilizará un mensaje por defecto educado y en varios idiomas. (Nota: Se busca ayuda para incluir el texto en más idiomas, especialmente fracés, portugués y alemán).

15. ArchivoConConfirmacion:

Parámetro: cadena (ruta a fichero)
Valor por defecto: Ninguno (en ese caso se utilizará el mensaje predeterminado que puede leerse en el archivo general.py de la distribución de Animail)

Fichero que contendrá el mensaje que se enviará en las respuestas a las confirmaciones. Si no se especifica nada se utilizará un mensaje por defecto educado y en varios idiomas. (Nota: Se busca ayuda para incluir el texto en más idiomas, especialmente francés, portugués y alemán).

16. AutoAceptarConfirmaciones:

Parámetro: Booleano (si/no)
Valor por defecto: Si

Esta opción especifica si al producirse una confirmación a un auto-mensaje de Animail el confirmante se ha de añadir automáticamente a la lista de aceptados. Su valor por defect es 'si'.

17. Timeout:

Parametro: numerico (tiempo en segundo)
Valor por defecto: infinito
Limita cuantos segundos puede esperar el programa para recibir datos de un socket (es decir, el tiempo máximo que la conexión puede estar parada). Cuando esta cuenta atrás expira, se cierra la conexión y Animail continua con el siguiente servidor configurado.

18. Colorear:

Parametro: booleano (si/no)
Valor por defecto: si
Aplicar colores ANSI a la salida en consola.

19. Reconectar:

Parámetro: booleano (si/no)
Valor por defecto: Si
Cuando algún servidor falla por cualquier motivo mientras se están transfiriendo los mensajes, Animail intentará, si está activada esta opción, reconectar a ese servidor al final del proceso (tras descargar del resto de servidores) para borrar los mensajes que ya se hubiesen descargado, de modo que la próxima vez que intentemos descargar mensajes de ese servidor no tendremos mensajes duplicados. Activada por defecto.

20. EsperaAntesReconectar:
Parámetro: Numérico (tiempo en segundos)
Valor por defecto: 30
Tiempo que debe transcurrir antes de reconectar a un servidor fallido (ver la opción Reconectar más arriba). Esta cuenta se iniciará en el momento en el que el servidor fallara. Esto es necesario porque algunos servidores (normalmente servidores POP3) no permiten a los clientes hacer más de una conexión simultanea, y el servidor necesita algo de tiempo para darse cuenta de que se ha perdido la conexión y cerrar la sesión.

21. MboxMensajesPostFiltrados:
Parámetro: Cadena (ruta completa a fichero mbox)
Valor por defecto: Nada
Esta opción especifica que los mensajes filtrados por los postfiltros (vea las secciones Combinando Animail con otros filtros y Opciones de PostFiltro) deben de guardarse en un fichero con formato mbox. Para que esta opción resulte útil también se debería activar 'GuardarMensajesPostFiltrados' en uno o más bloques de PostFiltro.

22. CodigosSpamSMTP:
Parámetro: Lista separada por comas de códigos SMTP de tres dígitos
Valor por defecto: Nada
Con esta opción haremos que Animail borre del servidor del que fueran descargados los mensajes para los que el servidor SMTP local lance un código de error SMTP concordando uno de los códigos especificados en la lista de este comando, en lugar de dejar el mensaje en el servidor como pasaría con cualquier otro código de error no especificado. Esto permitirá que Animail trabaje conjuntamente con las características anti-spam de nuestro servidor de correo local.

3.3 Opciones de <PostFiltro>

1. NombrePostFiltro:
Parámetro: Cadena
Valor por defecto: Nada (debe especificarse)
Nombre del filtro. Se usará cada vez que Animail necesite imprimir el nombre del filtro en su salida.

2. Ruta:
Parámetro: Cadena (ruta a fichero)
Valor por defecto: Nada (debe especificarse)
Esta es la ruta al programa de filtrado externo. Debe ser un fichero con permiso de ejecución y lectura para el usuario que ejecute Animail.

3. DarMensajePorStdin:
Parámetro: Booleano (Si/No)
Valor por defecto: Si
Este comando hará que Animail pase los programas al postfiltro por su entrada estándar. Dado que la mayoría de los filtros de email operan de esta forma, es valor por defecto es 'Si'. Si pone esta opción a 'No' lea la descripción del comando 'Opciones'.

4. Opciones:
Parámetro: Cadena (argumentos de programa)
Valor por defecto: Nada
Esta opción especifica los argumentos que deberán ser pasados al programa postfiltro. Si se ha puesto la opción "DarMensajePorStdin" a 'No' probablemente se necesite especificar la ruta al mensaje en el parámetro de este comando. Esto se hace sustituyendo '%M' en esta cadena por la ruta real del mensaje. Por ejemplo, si está usan un filtro que no acepta mensajes por su entrada estándar pero necesita que esos mensajes se le especifiquen tras un parámetro '-f' el argumento de este comando sería:Opciones: -f %M

5. ValoresDeRetornoAsesinos:
Parámetro: Lista de números separada por comas
Valor por defecto: Nada
Mediante esta opción especificamos una lista separada por comas de números (pudiendo ser sólo uno) siendo estos números posibles valores de retorno que en caso de concordar (alguno de ellos) con el valor de retorno real del programa externo utilizado como filtro hará que el mensaje sea filtrado. Puede usarse esta opción y 'SalidaDeProgramaAsesina' al mismo tiempo.

6. SalidaDeProgramaAsesina:
Parámetro: Cadena (expresión regular)
Valor por defecto: Nada
Esta opción especifica una expresión regular que de concordar con la salida estándar del filtro externo hará que el mensaje que causara esa salida sea filtrado. Puede especificarse esta opción junto a 'ValoresDeRetornoAsesinos' al mismo tiempo.

7. MostrarSalidaFiltro:
Parámetro: Booleano (Si/No)
Valor por defecto: No
Esta opción hará que la salida por pantalla del filtro externo (salida estándar y error estándar) no se oculte de estar activada.

8. GuardarMensajesPostFiltrados:
Parámetro: Booleano o Cadena (Si/No/Output/Stdout)
Valor por defecto: No
Esta opción especifica si los mensajes filtrados por el postfiltro deben ser copiados a un buzón con formato mbox ('spambox'). Los posibles valores son: 'Si' si el mensaje original debe copiarse sin modificaciones, 'No' en caso contrario, 'Output' si la salida del filtro externo es lo que debe copiarse a ese buzón en lugar del mensaje original y 'Stdout' que hace lo mismo que 'Output' pero no incluye la salida del error estándar (stderr) que en su lugar se imprimirá por pantalla.

Si esta opción se pone a 'Si' o 'Output' se deberá suministrar también un valor a la opción 'MboxMensajesPostFiltrados' de la sección <Global>.

4. Trucos varios

3.1 Binding Animail filtering to a Mutt macro
Put this in your .muttrc:
macro index X |~/bin/macrospam\n
macro pager X |~/bin/macrospam\n

Now create a new file called macrospam in ~/bin with the text:

#!/bin/bash
grep 'From:' $s | grep -v 'Resent'>> ~/.animail/filters

and make it executable with: chmod +x ~bin/macrospam

Now, pressing X in Mutt will add the currently selected mail to the Animail filterfile.


Versión 2.0

© 1998-2002 Juanjo Álvarez <juanjux@yahoo.es>