【发布时间】:2012-08-05 14:19:27
【问题描述】:
我有一些代码试图接收从客户端服务器发送的电子邮件。电子邮件最终从服务器发送到客户端,客户端上的 SMTP 服务器应该能够接收此电子邮件。这是我的测试实现:
# define the SMTP server (with the real IP adress of the client of course)
server = smtpd.PureProxy(('XXX.XXX.XXX.XXX', 25), None)
inputs = [server]
outputs = []
message_queues = {}
readable, writable, exceptional = select.select(inputs, outputs, inputs)
# Only one socket in the list returned (there is exactly one)
socket = readable[0]
# Accept the connection or get it or whatever
connection, client_address = socket.accept()
# get the data
data = connection.recv(1024)
print data
经过相当长的一段时间后,收到了一些与电子邮件内容完全不同的数据。一直都是
EHLO YYY.YYY.YYY.YYY
用 YYY 表示服务器的地址。我不是 SMTP 和套接字方面的专家,但是我做错了什么才能正确接收 emai 及其内容?
谢谢 亚历克斯
【问题讨论】:
-
鉴于代码中存在许多混淆以及您对它的描述,这个问题无法以目前的形式回答。那两个人指出你似乎没有理解 smtp 客户端和服务器之间的区别,要么你需要提高你的理解,要么更好地表达你的问题。