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