Categories: Шпаргалки

Автоматизация обработки почты на Ubuntu

Тематические термины: POP3 , IMAP , Ubuntu

Рассмотрим задачу по обработке почтовых вложений и сохранение их в различных каталогах.

Установка ПО
Настройка
Fetchmail
Procmail
Дополнительные опции
Поиск писем в определенных папках
Условие с полем From
Удаление сообщений с сервера
Русские названия файлов

Установка необходимого ПО

apt-get install fetchmail procmail uudeview

* где:

  • fetchmail — собирает почту с удаленных почтовых серверов (почтовых ящиков).
  • procmail — локальный обработчик, используется для фильтрации.
  • uudeview — для работы с бинарными файлими, нужен для обработки вложений.

Настройка ПО

Fetchmail

Открываем следующий файл:

vi ~/.fetchmailrc

И приводим его к следующему виду:

poll imap.yandex.com
port 993
proto IMAP
user «mailautomat»
password «password»
ssl
mda «/usr/bin/procmail -d %T»
set syslog set logfile «fetchmail/logs/fetchmail.log»

* где imap.yandex.com — сервер с постовым ящиком, с которого будем принимать почту; 993 — порт для поделючения по IMAP ; mailautomat / password — имя учетной записи и пароль для подключения к серверу.

Для настройки подключения по POP3:

poll pop3.yandex.com
port 995
proto POP3
user «mailautomat»
password «password»
ssl
mda «/usr/bin/procmail -d %T»
set syslog set logfile «fetchmail/logs/fetchmail.log»

Procmail

Открываем файл конфигурации:

vi ~/.procmailrc

И приводим его к виду:

:0
*^content-Type:
{
:0fw
| uudeview -i +a +o -p $HOME/fetchmail/attachments —
}

Создаем необходимые каталоги и лог-файл:

mkdir -p ~/fetchmail/logs

touch ~/fetchmail/logs/fetchmail.log

mkdir ~/fetchmail/attachments

Устанавливаем права 700 для конфигурационного файла fetchmailrc (в противном случае, она не запустится):

chmod 700 ~/.fetchmailrc

Запускаем fetchmail:

fetchmail -kv

Программа подключится к почтовому ящику, найдет все непрочитанные письма с вложениями и скачает их в каталог fetchmail/attachments.

Дополнительные полезные опции

Поиск писем в определенных папках

vi ~/.fetchmailrc

poll imap.yandex.com

user «mailautomat»
password «password»
folder «folder1» «folder2» «&BBAEMgRCBD4EMQQwBDQ-»

* чтобы fetchmail искал письма в нужных нам папках, просто дописываем опцию folder и перечисляем их через пробел.
* если название папки на русском, необходимо выполнить перекодировку в UTF-7 (3-я папка в данном примере). Для этого можно воспользоваться онлайн-инструментом на странице toolswebtop.com/text/process/encode/UTF7-IMAP .

Условие с полем From

vi ~/.procmailrc

:0
*^content-Type:
* ^From.*master@remontka.com
{

* в данном примере будут обрабатываться только те сообщения, которые пришли от адреса master@remontka.com .

Удаление сообщений с сервера

Запускаем fetchmail с ключом -K:

fetchmail -K

Русские названия файлов

Если вложения на русском языке, может понадобиться конвертация названия. Сначала ставим пакет convmv:

apt install convmv

Для конвертации вводим следующую команду:

convmv -f koi8-r -t utf8 -r —notest <путь к файлу>

* данной командой мы конвертируем название в кодировке koi8-r в utf8 .

admin

Recent Posts

Что такое Zulip

Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…

2 месяца ago

Что такое Zookeeper

Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…

2 месяца ago

Что такое Zimbra

Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…

2 месяца ago

Что такое Zabbix

Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…

2 месяца ago

Что такое YouTube

YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…

2 месяца ago

Что такое yota

Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…

2 месяца ago