Вход/Регистрация
Linux: Полное руководство
вернуться

Аллен Питер В.

Шрифт:

:0

* ^Subject:.*LinuxRSP

! adm

Правила означают следующее: если в теме (заголовок Subject) присутствует название отдела, то сообщение будет отправлено нужному пользователю, который должен быть зарегистрирован в системе. Вместо имени пользователя можно указать адрес электронной почты.

Можно выполнить сортировку по любому другому полю. Например, последнее правило могло бы выглядеть так:

:0

* ^From:.* Subscribe.Ru

! adm

В этом случае, если кто-нибудь из пользователей вашей системы также подпишется на другую рассылку на сервере Subscribe.Ru, то вся почта попадет к пользователю adm.

А теперь создадим почтовый автоответчик. Существуют два типа автоответчиков. Первые посылают автоответ только на определенные сообщения (например, отправляют клиенту прайс-лист вашей организации по его требованию), а вторые — на все (например, сообщают, что вы сейчас заняты, прочитаете письмо тогда-то). Автоответчик первого типа настраивается при помощи правила

0:

* ^Subject.*Price

| (formail -r ; cat $HOME/pricelist.zip) | sendmail -t

А второй тип создается еще проще. Вы не определяете никаких условий, поэтому файл

info.txt
, содержащий ваш автоответ, будет послан любому отправителю:

0:

| (formail -r; cat $HOME/info.txt) | sendmail -t

Владельцем файла

.procmailrc
должен быть пользователь mail. Права доступа следует установить «600».

Вызывать агент доставки procmail можно с помощью правил программы sendmail, но сейчас мы рассмотрим другой способ. В этом же каталоге ($HOME/mail) создайте файл

.forward
с такими же правами доступа, как у
.procmailrc
. В файле
.forward
задаются правила перенаправления почты. Добавьте в него следующую строку:

|IFS=' ' && exec /usr/bin/procmail USER= <mail>

Используйте procmail с большой осторожностью, потому что если вы неправильно укажете условия сортировки, почта будет просто утеряна без возможности восстановления.

Строки файла конфигурации

.procmailrc
, которые начинаются с символа решетки (#) считаются комментариями.

Строки, начинающиеся с последовательности символов :0 или :0:, определяют правила, на основании которых procmail выполнит действие над сообщением. После символов :0 можно указать опции поиска и исполняемый файл, которому будет передано сообщение. Общий синтаксис такой:

:0 [опции] [: программа]

Опция H (header) означает, что условие будет применяться к заголовку письма, а опция В — к телу. Опция D указывает программе различать нижний и верхний регистры символов. По умолчанию используется опция H, то есть условие применяется только к заголовку, а верхний и нижний регистры не различаются. Подробнее об опциях вы прочитаете на man-странице программы procmail.

Условие задается с помощью регулярных выражений. Каждое условие начинается символом * и записывается в отдельной строке. Регулярные выражения задаются как обычно, а именно:

♦ Символ ^ указывает на начало строки, а $ — на ее конец.

♦ Символ . обозначает любой символ, кроме CR (возврат каретки).

♦ Символы ? и * читаются как «ноль или более раз».

♦ Символ + — «один или более раз».

♦ Символ | обозначает логическую операцию ИЛИ : x|у — x ИЛИ у.

♦ [a-z] определяет любой символ из диапазона a..z.

♦ [^a-z] задает любой символ вне диапазона a..z.

После условия указывается одна команда. Если первый символ команды «!», то сообщение будет перенаправлено на все указанные почтовые адреса, а если «|», то сообщение будет передано исполняемому файлу (программе), который указан после символа Вместо исполняемого файла можно указать переменную окружения, в которую будет записан результат.

Переменная окружения MAILDIR устанавливается в файле .procmailrc. Обычно она имеет значение $HOME/Mail.

Кроме переменной окружения MAILDIR, вы можете указать переменные окружения SENDMAIL и FORMAIL, которые содержат полный путь к программам sendmail и formail (фильтр-преобразователь сообщений в формат mailbox). Переменная окружения LOGFILE содержит имя файла протокола программы procmail, а переменная DEFAULT — имя файла, в который будут записываться сообщения, к которому procmail не может применить ни одно из правил.

Для иллюстрации я приведу свой файл конфигурации procmail.

  • Читать дальше
  • 1
  • ...
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: