Не получаю никаких ответов от telnet в 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]

1 ответ

Решение

Похоже, вы не переходите на новую строку, когда пишете в сеанс.

Ваши команды записи могут выглядеть так: session.write("helo hi"+b"\r\n")

ИЛИ ЖЕ

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

Надеюсь это поможет.

Другие вопросы по тегам