Python:生产邮件接收的smtpd(或替代品)?

时间:2008-12-02 21:46:16

标签: python smtp smtpd

我正在寻求对电子邮件进行各种处理 - 例如。检查标题,如果它们符合某些条件(看起来像垃圾邮件),请删除连接,或检查收件人列表并执行特殊过滤。

看起来Python的smtpd库提供了一个漂亮而简单的界面来处理收到的电子邮件。

要在消息完全处理之前处理消息(例如,在标题看起来像垃圾邮件的情况下丢弃消息),我应该使用handle_connect吗?是否在某处记录了内部API(process_message除外)?示例代码在哪里?

另外,有人在生产中使用过smtpd吗?关于可靠性等的任何想法?

关于Twisted:我试图多次拥抱Twisted并且非常喜欢延迟模型,但它对我目前的品味来说有点过于复杂。我会再看看,但是现在我对非Twisted实现更感兴趣。

2 个答案:

答案 0 :(得分:5)

您可能希望查看twisted实施,因为这样可以让您访问与客户端的全方位互动。我相信(尽管我从未在生产中使用它)在生产环境中可以信任扭曲。

答案 1 :(得分:1)

另一种方法:使用Postfix接收电子邮件并在Python中编写policy脚本。