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

创建Python电子邮件(接收)服务器,python,linux,email,smtp,Python,Linux,Email,Smtp,我正在尝试为Linux VPS生成一个简单的python脚本,它将允许我接收邮件(然后我可以用python对其进行处理,比如将其打印到stdout)。没有比这更复杂的了 我不想使用“繁重”的解决方案或服务器程序,我只是想要一个简单的python脚本,我可以运行,并且能够接收邮件 Pythons的smtpd模块是否足以完成此任务?到目前为止,我听到了相互矛盾的意见。如果没有,你还有什么建议?也许你自己已经破解了一些代码 在这个阶段,甚至像lamson这样的项目似乎也太重了(尽管如果我找不到更好的解

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

我不想使用“繁重”的解决方案或服务器程序,我只是想要一个简单的python脚本,我可以运行,并且能够接收邮件

Pythons的smtpd模块是否足以完成此任务?到目前为止,我听到了相互矛盾的意见。如果没有,你还有什么建议?也许你自己已经破解了一些代码


在这个阶段,甚至像lamson这样的项目似乎也太重了(尽管如果我找不到更好的解决方案,这可能是不可避免的)。

Pythons smtpd就足够了


您可能还想看一看,是的,SMTPD模块将提供完整帮助。 :


以下是smtpd的一个例子:如果您不打算公开托管您的邮件服务器,并且它满足了您的需求,那么我看它没有任何问题。谢谢。这正是我想要的信息。当我阅读inbox.py并看到“这是你所见过的最简单的SMTP服务器。一个实例每秒应该处理超过1000封电子邮件。”我爆发了。我如何测试它??什么邮件地址在听,我应该用它来接收邮件?我意识到我可以用telnet连接到它。telnet 127.0.0.1 1025
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()