24.13. Использование procmail

Предоставил Marc Silver.

Утилита procmail это невероятно мощное приложение, используемое для фильтрации входящей почты. Она позволяет пользователям определять ''правила'', которые могут быть сопоставлены входящим письмам для выполнения определенных действий или для перенаправления почты в альтернативные почтовые ящики и/или на почтовые адреса. procmail может быть установлен с помощью порта mail/procmail. После установки он может быть непосредственно интегрирован в большинство MTA; сверьтесь с документацией на ваш MTA. Другой способ интеграции procmail - добавление в файл .forward, находящийся в домашнем каталоге пользователя, следующей строки:

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

В этом разделе будут показаны основы настройки правил procmail, а также краткое описание их действия. Эти и другие правила должны быть помещены в файл .procmailrc, который должен находиться в домашнем каталоге пользователя.

Большую часть этих правил также можно найти на странице справочника procmailex(5).

Перенаправление всей почты от на внешний адрес :

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

Перенаправление всей почты объемом меньше 1000 байт на внешний адрес :

:0
* < 1000
! goodmail@example2.com

Перенаправление всей почты, отправляемой на , в почтовый ящик alternate:

:0
* ^TOalternate@example.com
alternate

Перенаправление всей почты с ''Spam'' в /dev/null:

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

Полезный пример, обрабатывающий входящую почту со списков рассылки FreeBSD.org и помещающий каждый список в отдельный почтовый ящик.

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

Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.