在python中使用SMTPServer接收电子邮件:
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在python中使用SMTPServer接收电子邮件:,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1477字,纯文字阅读大概需要3分钟。
内容图文
![在python中使用SMTPServer接收电子邮件:](/upload/InfoBanner/zyjiaocheng/675/26e24ea1536b4839a5fccb678c130c13.jpg)
我在Linux下有一个小型应用程序,可以使用smtpd.SMTPServer接收电子邮件.这是小的测试代码:
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(('0.0.0.0', 25), None)
asyncore.loop()
我有以下问题:
(1)使用这段代码时,发送电子邮件的计算机收到以下消息:
502错误:命令“ EHLO”未实现
因此服务器无法正确答复以接收更多数据/无法与电子邮件发送计算??机(我认为是客户端)进行通信.
像EHLO这样的基本东西是否不应该首先在Ubuntu安装中实现?为什么不执行?
(2)我认为可以通过在Ubuntu中安装postfix来安装EHLO.我这样做了,并进行了相同的测试调用,但后来因另一个错误而停止:
Client: RCPT TO: XXX@YYY.com
Server: 554 5.7.1 <XXX@YYY>: Relay access denied
(3)稍后,在进行了其他一些测试之后,我从测试代码本身中得到了错误:
error: [Errno 98] Address already in use
事实证明,所使用的IP地址已经在使用中,如
netstat -lnpt
其中的情况是正在运行的后缀.停止postfix服务后,该地址不再使用,但当然它又回到了问题1:
502 Error: command "EHLO" not implemented
我希望能够使用SMTPServer接收电子邮件
1.无需安装后缀
2.使用异步
如果有任何关于如何使用python库以简单易用的方式实现此目标的想法,那就太好了!
干杯
亚历克斯
解决方法:
1)Postfix是SMTP服务器,与python的smtpd EHLO实现无关.如果需要自定义SMTP服务器,则不需要后缀,因此随时将其删除.
2)EHLO是ESMTP命令,不是SMTP,标准的smtpd python模块实现SMTP,因此它没有EHLO实现.
内容总结
以上是互联网集市为您收集整理的在python中使用SMTPServer接收电子邮件:全部内容,希望文章能够帮你解决在python中使用SMTPServer接收电子邮件:所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。