En multitud de ocasiones nos interesa poder tratar ciertos emails de una forma determinada en base al contenido de ciertas cabeceras/cuerpo del mail. Se pueden realizar varias operaciones sobre los mails, el listado se puede encontrar aquÃ.
Como ya he comentado en la introducción las acciones disponibles son: http://www.postfix.org/header_checks.5.html
Configuramos postfix para que tenga en cuenta las ACLs:
header_checks = pcre:/etc/postfix/header_checks.pcre
La expresión regular comprobará si en el subject aparecen las palabras viagra o porn:
/^Subject: (viagra|porn)/ REJECT Illegal subject: "$1"
Enviamos un mail de test:
Cc:
test
Ctrl+D
Podemos comprobar en los logs como se rechazado el mail:
Jun 22 09:13:09 RX4 postfix/cleanup[21476]: 8908D1204E1: to=<kr0m@alfaexploit.com>, relay=none, delay=0.01, delays=0.01/0/0/0, dsn=5.7.1, status=bounced (Illegal subject: "porn")
NOTA: Hay que tener en cuenta que ciertas acciones solo funcionarán a partir de la versión 3.2 de postfix, por ejemplo:
STRIP optional text…
Log a “strip:” record with the optional text… (or log a
generic text), delete the input line from the input, and inspect
the next input line. See IGNORE for a silent alternative.
This feature is available in Postfix 3.2 and later.
Para tener la versión 3.2 serÃa tan sencillo como: