发送一段时间来结束python中的邮件DATA telnet会话

时间:2011-10-16 23:06:49

标签: python email period telnetlib

我在python中使用telnetlib连接到一个简单的邮件服务器并发送一封电子邮件;一切正常,直到我输入DATA命令结束后,你提交邮件的正文,并且为了在服务器的队列中提交电子邮件,你需要键入一个句号“。”。在一个新的行本身,所以我的最终交易片段看起来像这样

self.tnet.write("\n.\n")
self.tnet.read_until("250")

其中self.tnet是我的telnet会话var,read_until等待250 Ok响应,说电子邮件已经发送到电子邮件服务器的队列并且在传送的路上;但是,我没有得到250 Ok回复,连接超时到我的10秒超时标志,我的收件箱中没有收到任何电子邮件...任何想法?香港专业教育学院也试过

self.tnet.write(raw_input()+"\n")

并且我也试过抓住原始套接字

self.sock=self.tnet.get_socket()
self.sock.send(".\n")
print self.sock.recv(1024)

没有回应......:/ 香港专业教育学院也试过返回马车“\ n”与“\ n”结合使用并自行无效

任何想法?

谢谢你, 〜乔治

1 个答案:

答案 0 :(得分:1)

您需要<CR><LF>换行符序列尝试:

self.tnet.write("\r\n.\r\n")

希望有所帮助