procmail è un agente di consegna dei messaggi (mail delivery agent - MDA) largamente impiegato nei sistemi Unix/Linux; è un programma per elaborare i messaggi in entrata, e funziona anche da filtro dei messaggi. Normalmente viene richiamato da un agente di trasferimento dei messaggi (mail transfer agent - MTA) come Sendmail o Postfix, cioè l'elaborazione dei messaggi è comandata da evento (event-driven). Il programma complementare formail consente di usarlo in modo procedurale, applicandolo ai messaggi già presenti nella casella postale di un utente.
Le operazioni di base realizzate sui messaggi tramite procmail includono:
Pratica comune è delegare a procmail il compito di chiamare un programma antispam esterno, per esempio spamassassin. Questo consente il filtraggio e l'eliminazione dello spam ricevuto.
procmail agisce secondo le istruzioni impartite nei file di configurazione:
/etc/.procmailrc: file comune a tutti gli utenti/home/user/.procmailrc: file di uno specifico utente in cui configurare le proprie regole (diverse distribuzioni possono avere diversi percorsi in cui reperire i file)La chiamata di procmail è definita nella configurazione del MTA che lo deve usare.