CentOS 5.x | Отправить почту
Привет, ребята,
Есть ли простой способ получить отдельные сообщения из / var / spool / mail /? У меня есть идея для действительно простого сценария, и я хотел бы проверить каждое отдельное сообщение на предмет чего-либо.
Сценарий будет следующим:
1) новое письмо приходит во входящие. 2) Скрипт проверяет наличие определенной строки. 3) Если строка найдена, скрипт получает различную информацию из заголовка и отправляет по электронной почте информацию по адресу.
Я понимаю, что milter, вероятно, был бы подходящим вариантом, но я надеялся найти способ сделать это с помощью сценария оболочки, поскольку я хочу практиковать это. Проблема в том, что я не могу найти способ проанализировать или иным образом изолировать отдельные сообщения. Когда я просматриваю / var / spool / mail /, я вижу большой файл с несколькими сообщениями и без уникального разделителя между сообщениями.
Обычно такие действия выполняются при получении почты, используя MDA, например procmail. Если у вас уже есть почтовый ящик, procmail поставляется с formail
(1), который позволяет запускать программу для каждого письма в почтовом ящике и имеет средства фильтрации и перезаписи заголовков.
Если вы игнорируете простые сценарии оболочки, почти на каждом языке программирования есть библиотека для анализа mbox форматированный почтовый ящик.
Конечно, если вы посмотрите вокруг, вы также можете найти множество клиентских библиотек POP3 и IMAP.
Вы также должны иметь возможность использовать что-то вроде procmail или maildrop для фильтрации ваших сообщений.