python smtp smtpd

Python: smtpd(o alternativa) para recibir correo de producción?



(2)

Estoy buscando hacer varios procesos de correo electrónico, por ej. inspeccione los encabezados, y si cumplen con algunos criterios (parece spam), suelte la conexión o inspeccione la lista de destinatarios y realice un filtrado especial.

Parece que la biblioteca smtpd de Python proporciona una interfaz agradable y simple para procesar el correo electrónico recibido.

Para tratar el mensaje antes de que esté completamente procesado (por ejemplo, para dejar caer el mensaje en caso de que los encabezados parezcan spam), ¿debería usar handle_connect? ¿Las API internas (que no sean process_message) están documentadas en alguna parte? Código de ejemplo en cualquier lugar?

Además, ¿alguien ha usado smtpd en producción? ¿Alguna idea sobre confiabilidad, etc.?

En cuanto a Twisted: he intentado adoptar Twisted varias veces y me gusta bastante el modelo diferido, pero es un poco demasiado complejo para mi gusto actual. Le daré otra mirada, pero por ahora estoy más interesado en implementaciones no retorcidas.


Otro enfoque: use Postfix para recibir correos electrónicos y escribir un script de políticas en Python.


Es posible que desee ver la implementación retorcida , ya que le dará acceso a la gama completa de interacción con el cliente. Creo (aunque nunca lo he usado en producción) que se puede confiar en twisted en un entorno de producción.