В большинстве версий 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
, но подавляет сообщения об ошибках.