一个简单的SMTP服务器(在Python中)

发布于 2021-01-29 17:07:05

您能否建议一个简单的SMTP服务器,该服务器具有非常基本的API(即非常基本的我的意思是读取,写入,删除电子邮件),并且可以在Linux机器上运行?我只需要将电子邮件的关键部分转换为XML格式,然后将其通过FTP传输到另一台计算机上即可。

关注者
0
被浏览
195
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    看看这个SMTP接收器服务器

    from __future__ import print_function
    from datetime import datetime
    import asyncore
    from smtpd import SMTPServer
    
    class EmlServer(SMTPServer):
        no = 0
        def process_message(self, peer, mailfrom, rcpttos, data):
            filename = '%s-%d.eml' % (datetime.now().strftime('%Y%m%d%H%M%S'),
                    self.no)
            f = open(filename, 'w')
            f.write(data)
            f.close
            print('%s saved.' % filename)
            self.no += 1
    
    
    def run():
        # start the smtp server on localhost:1025
        foo = EmlServer(('localhost', 1025), None)
        try:
            asyncore.loop()
        except KeyboardInterrupt:
            pass
    
    
    if __name__ == '__main__':
        run()
    

    它用于smtpd.SMTPServer将电子邮件转储到文件。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看