Python: smtpd (или альтернатива) для получения рабочей почты? - PullRequest
3 голосов
/ 03 декабря 2008

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

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

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

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

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

Ответы [ 2 ]

5 голосов
/ 03 декабря 2008

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

1 голос
/ 03 декабря 2008

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

...