Python: smtpd (или альтернатива) для получения рабочей почты?

Я ищу, чтобы сделать различные обработки электронной почты - например. Осмотрите заголовки, и, если они удовлетворяют некоторым критериям (выглядят как спам), отбросьте соединение или проверьте список получателей и выполните специальную фильтрацию.

Похоже, библиотека smtpd в Python предоставляет удобный и простой интерфейс для обработки полученной электронной почты.

Нужно ли использовать handle_connect для обработки сообщения до его полной обработки (например, для удаления сообщения в случае, если заголовки выглядят как спам)? Документированы ли где-нибудь внутренние API (кроме process_message)? Пример кода где угодно?

Кроме того, кто-нибудь использовал smtpd в производстве? Есть мысли о надежности и т. Д.?

Относительно Twisted: Я пытался использовать Twisted несколько раз, и совсем как отложенная модель, но это слишком сложно для моего текущего вкуса. Я еще раз посмотрю, но сейчас меня больше интересуют не-Twisted реализации.

2 ответа

Возможно, вы захотите взглянуть на скрученную реализацию, поскольку это даст вам доступ ко всему спектру взаимодействия с клиентом. Я полагаю (хотя я никогда не использовал это в производстве), что витой можно доверять в производственной среде.

Другой подход: использовать Postfix для получения электронной почты и написать скрипт политики на Python.

Другие вопросы по тегам