在 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")
希望对您有所帮助。
虽然服务器正在连接。或者我在 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")
希望对您有所帮助。