创建Python电子邮件(接收)服务器

时间:2012-06-01 12:26:31

标签: python linux email smtp

我正在尝试为Linux VPS生成一个简单的python脚本,这将允许我接收邮件,(然后我可以在python中对其进行处理,比如将其打印到stdout)。没有比这更复杂的了。

我不想使用'重'解决方案或服务器程序,我真的只是在我可以运行的一个简单的python脚本之后,并且能够接收邮件。

Pythons的smtpd模块是否足以完成这项任务?到目前为止,我听到了相互矛盾的意见。如果没有,你还会提出什么建议?也许你自己一起攻击了一些代码?

在这个阶段,即使像lamson这样的项目看起来也太沉重(尽管如果我找不到更好的解决方案,这可能是不可避免的)。

2 个答案:

答案 0 :(得分:12)

Pythons smtpd就足够了。

您可能还想查看inbox.pythis example

答案 1 :(得分:6)

是的SMTPD模块将全程提供帮助。 Example code is here

import smtpd
import asyncore

class CustomSMTPServer(smtpd.SMTPServer):

    def process_message(self, peer, mailfrom, rcpttos, data):
        print 'Receiving message from:', peer
        print 'Message addressed from:', mailfrom
        print 'Message addressed to  :', rcpttos
        print 'Message length        :', len(data)
        return

server = CustomSMTPServer(('127.0.0.1', 1025), None)
asyncore.loop()