Главная » 2013 » Декабрь » 12 » 13.4. Другие программы для работы с электронной почтой
02:00
13.4. Другие программы для работы с электронной почтой

Кроме агентов MTA и демонов POP‑сервиса существуют также программы для получения почты, POP‑клиенты и программы для сортировки почты.

Конечно, любая почтовая программа, например, kmail или Outlook, обладают встроенным POP‑клиентом, но, кроме сбора почты, почтовые программы, как правило, обладают массой других не менее полезных функций – создание, отправка сообщений и тому подобные.

В качестве POP‑клиента рассмотрим стандартный почтовый клиент Linux – fetchmail, а также программу сортировки почты – procmail.

Лучше всего объяснять работу любой программы на практическом примере. Сначала сформулируем задачи:

1. На один ящик mail@firma. ru поступает почта для всех отделов какой‑либо организации. Вам нужно выполнить сортировку приходящей почты по названию отдела, например, если в теле письма или в одном из его заголовков упоминается название отдела, отправить это сообщение одному из пользователей отдела.

2. Настроить автоответчик электронной почты. Этот автоответчик будет работать подобно обыкновенному автоответчику: когда пользователь получает сообщение, автоответчик автоматически отправит ответ, содержащий примерно такое сообщение: «Ваше сообщение получил. Прочитаю в 19:00».

Теперь займемся решением первой задачи. Сначала немного конкретизируем ее. Пусть у вашей организации существует 3 отдела. Адрес первого отдела – depl@firma. ru, второго – dep2@firma. ru, а третьего – dep3@firma. ru. У вас также есть пользователь mail, на имя которого будет приходить вся почта. Его адрес – mail@firma. ru. Также вы хотите, чтобы рассылка проекта LinuxRSP отправлялась вам по адресу adm@firma. ru.

Для начала в домашнем каталоге пользователя mail создайте файл. procmailrc примерно такого содержания, как это показано в листинге 13.2 :

Листинг 13.2. Файл. procmailrc

Таким образом, вы определили правила сортировки почты. Если в теме (заголовок Subject) будет присутствовать название отдела, то сообщение будет отправлено нужному пользователю.

Примечание. Если вы создавали файл. procmailrc, зарегистрировавшись в системе как пользователь root, измените права доступа к этому файлу:

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

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

Примечание. Подробнее о правилах сортировки вы прочитаете в справочной системе Linux, введя команду man procmail.

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

Обычно программа procmail находится в каталоге /usr/bin. Если вы при самостоятельной сборке программы указали другой каталог, измените команду перенаправления в файле. forward.

Теперь создайте файл. fetchmailrc. Этот файл нужно создать в каталоге того пользователя, от имени которого будет запускаться fetchmail. В этот файл добавьте следующие строки:

Таким образом вы установите постмастера (пользователь mail. provider. ru) – имя почтового сервера, откуда вы будете забирать почту по протоколу POP3. При этом вы будете использовать имя пользователя mail и пароль my_password. Опция fetchall указывает программе получить всю почту и потом удалить полученные сообщения на сервера provider. ru.

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

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

Теперь перейдем к решению второй задачи. Напомню, что наша цель – создание автоответчика. Существуют два типа автоответчиков. Первые посылают автоответ только на определенные сообщения, а вторые – на все. Например, вам нужно отправить клиенту прайс‑лист вашей организации по его требованию. Это первый тип автоответчика. Если же вы уезжаете летом на недельку отдохнуть куда‑нибудь и хотите, чтобы программа сообщила людям, что вы в отпуске – это второй тип.

Займемся настройкой первого типа. Для этого в ваш файл .procmailrc добавьте строки:

Как видите все намного проще, чем ожидалось. А второй тип автоответчика создается еще проще:

Заметьте – вы не определяете никаких условий, поэтому ответное письмо будет отправлено всем, кто напишет вам сообщение. В файл info. txt нужно записать ваш автоответ.

Сделаем небольшой вывод. Программа fetchmail используется для загрузки сообщений, a procmail – для ее сортировки. Рекомендую вам изучить параметры программ fetchmail и procmail – вы найдете их в документации по этим программам. Используйте procmail с большой осторожностью, потому что если вы неправильно укажете условия сортировки, почта будет просто утеряна без возможности восстановления.

Категория: Почтовый сервер | Просмотров: 405 | Добавил: spb_serge | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: