Я ищу MTA, который позволит мне (действительно, скрипту) проактивно управлять своей очередью отправки в ответ на коды состояния, возвращаемые удаленными серверами, на которые я доставляю.
По сути, для каждого отправленного письма я хотел бы иметь возможность реагировать на код ответа SMTP, возвращаемый удаленным сервером, например. «250 OK» или в случае возникновения ошибок, например тайм-аутов соединения.
Кроме того, я хотел бы иметь возможность управлять очередью отправки на основе этой информации, например "example.com истекло время последних 5 попыток подключения, поэтому больше не ставить почту в очередь для получателей @ example.com".
В настоящее время я использую Postfix и Perl для анализа его журналов для получения этой информации, но я играю в игру догонялки, которая подвержена ошибкам (записи в журнале не по порядку и т. Д.), И она начинает становиться беспорядочной (некоторые настоящие уродливые регулярные выражения ;).
Я действительно не хочу изобретать велосипед и использовать SMTP-библиотеку какого-нибудь языка; Я бы предпочел использовать проверенный / быстрый / надежный MTA. Однако я открыт для предложений, если то, что мне нужно, просто невозможно.
Спасибо за вашу помощь!
postfix
является ближайшим к вам "самой умной очереди", которую вы ищете. он уже хорошо разделен и очень управляем.
Вы можете переосмыслить свой скрипт для отслеживания файлов в папках очереди.
defer
bounce
active
deferred
hold
а затем перемещать сообщения с помощью postsuper
команда?