Обработка входящей почты
Итак, при помощи fetchmail и procmail письма раскидываются в различные файлы в зависимости от содержания.
Как я уже говорил, у меня работает стандартный sendmail, поэтому формат писем — mbox, когда все письма находятся в одном в файле. Работать с таким файлом очень неудобно, так как придется самостоятельно вычислять границы писем. Поэтому нам надо переделать mbox в mdir. В данном случае письма будут складываться по отдельности в определенныю папку.
Реализовать это можно при помощи скрипта mb2md.pl, который легко находится в интернете. Для его работы придется установить модуль для perl, для работы с датами. Иструкция будет в скрипте.
Единственная сложность возникла в том, что procmail при обработке писем заменяет заголовки писем. У меня он изменил название поля from, вследствии чего mb2md не работала. Из-за чего это происходит я не стал разбираться, поэтому просто изменил все вхождения слова from в файле mb2md.pl на слово delivered. После этого программа mb2md.pl стала корректно выполняться.
Синтаксис программы mb2md.pl:
mb2md.pl -s mailfile -f maildir
mailfile — существующий ящик mbox
maildir — директория в которую будут складываться письма.
На выходе получаем папку с письмами. Далее пишем скрипт, который просматривает каждое письмо, грепает содержимое и выполняет определенные действия.
Вот и все что касается обработки входящей почты.
Популярность: 9%