отправка периода для завершения почтового сеанса DATA telnet в python - PullRequest
0 голосов
/ 17 октября 2011

я использую telnetlib в python для подключения к простому почтовому серверу и отправки электронной почты; все работает нормально до самого конца, после того как я ввожу команду 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)

нет ответа ...: / Я также пробовал возврат каретки "\ r" в сочетании с "\ n" и безрезультатно

есть идеи?

спасибо, ~ Джордж

1 Ответ

1 голос
/ 17 октября 2011

вам нужна попытка <CR><LF> newline-squence:

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

надеюсь, что поможет

...