В большинстве версий Linux файл /etc/procmailrc
.procmailrc, расположенными в пользовательских каталогах, подробные проблемы не возникают, так как в этом случае Procmail выполняется с привилегиями обычного пользователя.В конфигурационном файле Procmail содержатся записи трех типов.
• Комментарии
. Как и во многих других конфигурационных файлах, строки, содержащие комментарии, начинаются с символа#.• Записи, определяющие переменные окружения
. В процессе работы Procmail использует значения переменных окружения, например$HOME (расположение рабочего каталога пользователя) и $MAILDIR (каталог, в котором содержатся пользовательские папки для хранения почтовых сообщений). Значения переменных окружения устанавливаются в конфигурационном файле так же, как и в оболочке. Например, запись MAILDIR = $HOME/Mail задает для переменной окружения $MAILDIR значение, указывающее на подкаталог Mail, находящийся в рабочем каталоге пользователя.• Рецепты
. Правила фильтрации Procmail называютсяОписанные три типа записей могут располагаться в пределах конфигурационного файла в любой последовательности. Многие конфигурационные файлы Procmail начинаются с определения переменных окружения, за которыми следует набор рецептов. В процессе обработки поступающей почты Procmail сканирует письма и проверяет их на соответствие рецептам. Если письмо не соответствует ни одному рецепту, Procmail доставляет его в файл, определяемый посредством переменной $DEFAULT
/var/spool/mail/имя_пользователя .Создание рецепта
Создание рецепта может показаться очень сложной задачей, в особенности для тех, кто не знаком с регулярными выражениями. Формат рецепта имеет следующий вид:
:0 [
[
Рецепт можно условно разбить на три части: идентификационную строку, условия и действие.
Каждый рецепт начинается с символов :0
:1 или больших номеров, не существует. После :0 вы можете задать один или несколько флагов, которые изменяют поведение Procmail. Наиболее часто используются следующие флаги.• H
• В
• D
D отменяет это соглашение.• с
• w
• W
w, но подавляет сообщения об ошибках.