Чтение онлайн

на главную - закладки

Жанры

Linux: Полное руководство

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

Шрифт:

Рис. 14.5. Настройка Netscape Messenger

14.3. Агент доступа — fetchmail

Программа fetchmail используется для загрузки сообщений с сервера входящей почты в почтовый ящик пользователя. В домашнем каталоге того пользователя, от имени которого будет запускаться fetchmail, создайте файл

.fetchmailrc
. Добавьте в него следующие строки:

set postmaster "mail"

poll provider.ru proto POP3 no dns

 user "mail" pass "my_password" to mail here

options fetchall

Provider.ru —

это имя почтового сервера, откуда вы будете забирать почту по протоколу POP3. При этом вы будете использовать имя пользователя mail и пароль my_password. Директива fetchall указывает программе получить всю почту и потом удалить полученные сообщения с сервера.

Запускать программу fetchmail можно как демон, а можно с помощью планировщика cron. В первом случае просто выполните команду:

$ fetchmail -d 12000

При этом fetchmail будет проверять наличие новой почты через каждые 20 минут.

Во втором случае отредактируйте пользовательский crontab-файл и введите новое задание:

$ crontab -е

0,20,40 * * * * /usr/bin/fetchmail

14.4. Автоматическая сортировка входящей почты — программа procmail

Лучше всего объяснять работу любой программы на практическом примере. Допустим, в вашей организации три отдела, и их адреса depl@firma.ru, dep2@firma.ru и dep3@firma.ru. У вас также есть пользователь mail, на имя которого будет приходить вся почта. Вам нужно сортировать приходящую почту по названию отдела: например, если в теле письма или в одном из его заголовков упоминается название отдела, отправить это сообщение одному из пользователей отдела. Кроме того, вы хотите, чтобы рассылка проекта LinuxRSP отправлялась вам по адресу adm@firma.ru.

Создайте в домашнем каталоге пользователя mail файл

.procmailrc
, примерное содержание которого показано в листинге 14.2.

Листинг 14.2. Файл .procmailrc — правила сортировки почты

:0

* ^Subject:.*dep1

! dep1

:0

* ^Subject:.*dep2

! dep2

:0

* ^Subject:.*dep3

! dep3

: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 ИЛИ у.

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

Ненаглядная жена его светлости

Зика Натаэль
Любовные романы:
любовно-фантастические романы
6.23
рейтинг книги
Ненаглядная жена его светлости

Первый среди равных. Книга III

Бор Жорж
3. Первый среди Равных
Фантастика:
попаданцы
аниме
фэнтези
6.00
рейтинг книги
Первый среди равных. Книга III

Гнев короля демонов

Фейст Рэймонд Элиас
3. Змеиные войны
Фантастика:
фэнтези
6.00
рейтинг книги
Гнев короля демонов

Доктор. Заново

Афанасьев Семён
1. Доктор
Фантастика:
фэнтези
альтернативная история
5.86
рейтинг книги
Доктор. Заново

Аввакум

Бахревский Владислав Анатольевич
Проза:
историческая проза
7.00
рейтинг книги
Аввакум

Полное собрание стихотворений

Сологуб Федор Кузьмич
Поэзия:
поэзия
7.00
рейтинг книги
Полное собрание стихотворений

Кубинский зал

Харрисон Колин
Детективы:
прочие детективы
6.40
рейтинг книги
Кубинский зал

Цари. Романовы. История династии

Радзинский Эдвард Станиславович
Документальная литература:
биографии и мемуары
6.09
рейтинг книги
Цари. Романовы. История династии

Предсказание

Дюма-отец Александр
Приключения:
исторические приключения
5.75
рейтинг книги
Предсказание

Тайный воин

Флевелинг Линн
2. Тамирская триада
Фантастика:
фэнтези
8.81
рейтинг книги
Тайный воин

Операция «Невеста»

Романова Галина Львовна
3. Записки провинциального некроманта
Фантастика:
фэнтези
9.17
рейтинг книги
Операция «Невеста»

Ученик. Книга вторая

Первухин Андрей Евгеньевич
2. Ученик
Фантастика:
фэнтези
5.40
рейтинг книги
Ученик. Книга вторая

Повелитель снов

Исупова Наталья Леонидовна
Фантастика:
фэнтези
7.00
рейтинг книги
Повелитель снов

Газлайтер. Том 1

Володин Григорий Григорьевич
1. История Телепата
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Газлайтер. Том 1