Guía rápida de uso de procmail

¿Qué es procmail y para qué sirve?
Procmail es un software que permite filtrar el correo que nos llega.

Nos permite reenviar, guardar el correo en distintas carpetas, reenviar mensajes a otras direcciones de correo o ejecutar programas, sobre ciertos mensajes.
¿Cómo funciona?

Cada vez que nos llega un mail, procmail lee la configuración del usuario al que va dirigido. Si ese archivo no existe, procmail deja el mensaje junto al resto de nuestro correo.

Este archivo de configuración se encuentra en nuestro directorio HOME (~), y se llama .procmailrc (nota que el nombre del archivo empieza con un punto).
Configuración

Para empezar a usar procmail para filtrar nuestro correo debemos crear un archivo:

~/.procmailrc

NOTA: en las cuentas del CEC este archivo ya existe.

Este archivo consiste en una serie de reglas. Cada regla está formada por una serie de condiciones y una acción.

Procmail procesa estas reglas de forma secuencial (por lo tanto el orden de las reglas es MUY importante!!!!) y si el mail cumple las condiciones de una regla, procmail ejecuta la acción y, si no se especifica lo contrario, no procesa las siguientes reglas.

La sintaxis básica de una regla es:

:
* condicion_1
* condicion_2
...
accion

Las condiciones son expresiones regulares que se comparan con las cabeceras del mensaje, o con el valor de alguna variable de procmail.

Comunmente, se trata de comparaciones con los campos Subject, From o To de la cabecera del mensaje.

Por ejemplo:

* ^Subject: AVIS
* ^From:.* lclsi

La primera condición especifica los mensajes cuyo campo Subject empieza por “AVIS”. La segunda, aquellos cuyo From contiene “lclsi”.

La acción puede ser una de las siguientes:

  1. .CARPETA/
    Indica a procmail que el mensaje se debe guardar en esa CARPETA de correo.
    Aqui en el CEC, es importante que el nombre de la carpeta comience con un PUNTO (.) y termine con SLASH (/)
  2. !
    Indica que se debe reenviar el mensaje a otra dirección de correo electrónico.

Aqui en el CEC de la FCFM de la U. de Chile, el archivo .procmailrc debe comenzar SIEMPRE con la linea siguiente:

MAILDIR=$HOME/mail/ # Es bueno asegurarse de que este directorio exista.

La primera regla que tenemos en el CEC, es el manejo de los correos que vienen marcados como SPAM.

:
^X-Spam-Flag.*YES
/dev/null

En el caso anterior, estamos BORRANDO todo el correo que viene marcado como SPAM

:
^X-Spam-Flag.*YES
.spam/

En este caso, el correo marcado como SPAM se deja en la carpera .spam/

A continuación veremos algunos ejemplos de reglas sencillas para las tareas más frecuentes.

1.- Los mails que van dirijidos a una lista de correo, por ejemplo, la lista lista@dominio, dejarlos en la carpeta .mails_lista/

:
* ^TO.*lista@dominio
.mails_lista/

2.- Los mails que vienen con el subject que empieza, por ejemplo por “LISTA: ” , dejarlos en la carpeta .mails_lista/

:
* ^Subject: LISTA:
.mails_lista/

3.- Borrar mensajes cuyo subject contenga la palabra  “Viagra”

:
* ^Subject:.*Viagra
/dev/null

4.- Reenviar todo mi correo a otra@direccion

:
! otra@direccion

5.- Reenviar correos cuyo subject contiene la palabra IMPORTANTE a otra@direccion

:
* ^Subject:.*IMPORTANTE
! otra@direccion

Para mas informacion, puede ingresar a cipres y ejecutar

man procmailrc