在 python 中未从 telnet 获得任何响应

Not Getting any responses from telnet in python

虽然服务器正在连接。或者我在 putty 中尝试了命令并从那里得到了响应,但我不知道为什么代码不起作用:这是它不起作用的片段

import telnetlib
host = 'aspmx2.googlemail.com'
timeout = 5
session = telnetlib.Telnet(host, 25, timeout)
session.open(host,port ='25',timeout = timeout)
session.write("\r\n")
print(session.read_until("\n\r",10))
session.write("helo hi"+b"\r")
print(session.read_until("\n\r",10))
session.write(('MAIL FROM:someone@gmail.com').encode('ascii') + b"\r")
frommail= session.read_until(b"/r/n/r/n#>", timeout-1 )
session.write(('RCPT TO:someoneelse@gmail.com').encode('ascii') + b"\r")
check= session.read_until(b"/r/n/r/n#>", timeout-1 )
session.close()

对此,我收到以下回复:

220 mx.google.com ESMTP y13si5854003pde.84 - gsmtp


[Finished in 28.1s]

看起来您在写入会话时没有移动到新行。

您的写入命令可能如下所示: session.write("helo hi"+b"\r\n")

session.write(('MAIL FROM:someone@gmail.com').encode('ascii') + b"\r\n")

希望对您有所帮助。