22.13 Usare procmail

Contributo di Marc Silver.

L'utility procmail è un'applicazione molto potente usata per filtrare la posta in ingresso. Permette agli utenti di definire delle “regole” che sono confrontate con la posta in ingresso per realizzare funzioni specifiche o per inoltrare la posta ad una casella di posta alternativa e/o ad altri indirizzi di posta. procmail può essere installato usando il port mail/procmail. Una volta installato, può essere integrato direttamente nella maggior parte degli MTA; consulta la documentazione del tuo MTA per maggiori informazioni. Altrimenti, procmail può essere integrato aggiungendo la seguente linea nel file .forward nella home directory dell'utente, potendo così utilizzare le funzionalità di procmail:

"|exec /usr/local/bin/procmail || exit 75"

La seguente sezione mostra alcune regole base di procmail, così come una breve descrizione di ciò che fanno. Queste ed eventualmente altre regole, devono essere inserite nel file .procmailrc, posto nella home directory dell'utente.

La maggior parte di queste regole possono essere trovate anche nella pagina man di procmailex(5).

Per inoltrare la posta inviata da user@example.com all'indirizzo di posta goodmail@example2.com:

:0
* ^From.*user@example.com
! goodmail@example2.com

Per inoltrare tutti i messaggi di posta con dimensioni inferiori a 1000 bytes verso l'indirizzo di posta esterno goodmail@example2.com:

:0
* < 1000
! goodmail@example2.com

Per inoltrare tutta la posta inviata a alternate@example.com in una casella di posta chiamata alternate:

:0
* ^TOalternate@example.com
alternate

Per inviare tutti messaggi di posta con soggetto “Spam” in /dev/null:

:0
^Subject:.*Spam
/dev/null

Ecco una ricetta utile che analizza i messaggi di posta in ingresso delle liste di FreeBSD.org e li posiziona in base alla lista in una opportuna casella di posta:

:0
* ^Sender:.owner-freebsd-\/[^@]+@FreeBSD.ORG
{
  LISTNAME=${MATCH}
  :0
  * LISTNAME??^\/[^@]+
  FreeBSD-${MATCH}
}

Questo, ed altri documenti, possono essere scaricati da ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Per domande su FreeBSD, leggi la documentazione prima di contattare <questions@FreeBSD.org>.
Per domande su questa documentazione, invia una e-mail a <doc@FreeBSD.org>.