Если вы создаете выделенный почтовый ящик для этой цели, использование механизма фильтрации почти наверняка не то, что вам нужно. Вместо этого вы хотите, чтобы почтовый ящик был каналом для приложения, и чтобы приложение просто считывало сообщение из stdin, анализировало тело и MIME анализировало тело, чтобы получить вложения.
Наличие почтового ящика в качестве канала поддерживается всеми известными мне известными MTA на основе Unix, такими как sendmail, postfix и qmail. Обычно вы определяете его в файле псевдонимов, например:
# синтаксис sendmail или postfix
msgsubmit: "| / usr / bin / php ~ path / to / example.php"
Затем письма к msgsubmit @ направляются в программу php для доставки.
Это имеет то преимущество, что не полагается на IMAP-сервер или любой другой сервер, кроме действующего MTA, и работает нормально, если у вас есть контроль над MTA хоста назначения. Фильтрация - это то, что вам нужно, если вы хотите, чтобы все сообщения в системе проверялись сценарием, что, как мне кажется, не так.
Если вы хотите, чтобы копия хранилась где-то в почтовом ящике (неплохая идея), просто определите псевдоним для перехода по нескольким адресам, например:
msgsubmit: "| /usr/bin/php ~path/to/example.php", msgsubmit-box
Или постфиксный виртуальный формат:
msgsubmit
"| /usr/bin/php ~path/to/example.php"
msgsubmit-box