-1

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

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

self.tnet 是我的 telnet 会话变量,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)

没有回应...:/我也尝试了回车“\r”与“\n”的组合,但它自己无济于事

有任何想法吗?

谢谢你,~乔治

4

1 回答 1

1

你需要<CR><LF>换行符尝试:

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

希望有帮助

于 2011-10-16T23:10:59.097 回答