Реализация pop3 клиента - PullRequest
0 голосов
/ 18 апреля 2019

Я реализую Pop3 клиент на Python. Я могу подключиться к выбранному вами серверу pop3 и даже получить первое приветственное сообщение: «+ OK Здравствуйте, это неизвестный сервер Seznam POP3. \ R \ n», но после этого сервер не отвечает ни на одно из моих сообщений, а мой клиент висит на вызове recv. Используя telnet сервер отвечает нормально. Я ожидал такого ответа: «+ OK Здравствуйте, это неизвестный сервер Seznam POP3». для моего сообщения "Пользователь пользователя".

Вот мой код:

HOST = pop3.seznam.cz
PORT = 110

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.connect((HOST, int(PORT)))
    data = s.recv(2048)
    print(data)
    num = s.send(b'USER user')
    print(num)
    data = s.recv(2048)

    print(repr(data))

1 Ответ

1 голос
/ 18 апреля 2019
num = s.send(b'USER user')

Протокол требует, чтобы каждая команда заканчивалась на \r\n, т.е.

num = s.send(b'USER user\r\n')

См. RFC 1939 для фактического стандарта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...