【发布时间】:2014-03-30 21:48:03
【问题描述】:
我有一个 python 脚本可以在 localhost 中运行 SMTP 服务器。这是我非常简单的代码:
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)
server = CustomSMTPServer(('127.0.0.1', 25), None)
asyncore.loop()
如果我从在 localhost 上运行的电子邮件客户端发送电子邮件,则电子邮件会成功到达 STMP 服务器。但是,如果我从位于同一本地网络 (192.168.1.1/24) 的计算机中运行的电子邮件客户端发送电子邮件,则不会成功。下面是我从 Outlook Express 得到的错误:
The connection to the server has failed. Account 'localhost', Server '192.168.1.115'.
Protocol SMTP, Port: 25, Secure(SSL): No, Socket Error: 10061, Error Number: 0x800CCC0E
以防万一,我在两台 PC 上都停用了 McAfee 防火墙,但我仍然遇到相同的错误。
问题可能出在哪里?它与 asyncore.loop() 方法有什么关系吗?谢谢!
【问题讨论】: