Метод .ehlo () и .helo () smtplib в python3

Может ли кто-нибудь объяснить мне, для чего эти методы?

Я почти всегда вижу .ehlo () до и после (или только до) функции .starttls (), для чего нужен ehlo ().

И есть еще один очень похожий, называемый .helo ()

Кто-нибудь знает, для чего они нужны?

Я уже видел документацию, но она мне не совсем понятна.

Большое спасибо.

0
задан 30.11.2019, 22:31
1 ответ

Протокол первоначальный SMTP не preveГ - в возможность шифрованных каналов, и другие команды, чем aГ±adieron despuГ©s, как например возможность которой требовать у клиента, чтобы он был заверен посредством имени пользователя и contraseГ±a.

В первоначальном SMTP, первая команда, что клиент debГ, - чтобы посылать, установив ее conexiГіn, был командой, ЗАМОРОЗИЛА. Это - то, что делает mГ©todo .helo(), посылать эту команду посредством соответствующего протокола. Сервер, если нет проблем, deberГ, - чтобы отвечать с одним cГіdigo, который он показывает, что он правилен и сообщение благополучного прибытия. Начиная с этой точки comenzarГ - в протокол, чтобы передавать сообщение. Этот протокол, поскольку я сказал, идет, не шифруя, а следовательно это не конечно.

Позже SMTP ampliarГ - чтобы для включать команду STARTTLS и другие autenticaciГіn. Но в течение времени (и aГєn сегодня) сосуществовали серверы, что seguГ-an estГЎndar старый, вместе с другими, которые seguГ-an новый. Чтобы позволять совместимость он делал atrГЎs, новый estГЎndar aГ±adiГі команда EHLO как сообщение благополучного прибытия.

, Если сервер современный, когда он получает команду EHLO responderГЎ со списком новых команд, которые он выносит (например STARTTLS estarГЎ между ними, которые он служит для того, чтобы переместить ее conexiГіn в шифрованный канал). Если это взамен старый сервер, который не выносит новые команды, не entenderГЎ EHLO и responderГЎ с одним cГіdigo ошибки. Это позволяет знать клиента quГ© versiГіn о протоколе выносит сервер.

С другой стороны, однажды есть выполняя команду STARTTLS и estГЎ уже в безопасном способе, клиент necesitarГЎ посылать снова EHLO, чтобы получать снова список разрешенных команд, так как этот список может меняться, относительно которой recibiГі первый раз, так как, когда шифрованный канал сейчас, сервер soportarГЎ mГ©todos autenticaciГіn добавочные, (что не soportarГ - в на канале, не шифруя).

1
ответ дан 01.12.2019, 10:30
  • 1
    Тогда в пользу этого мотива, использовав starttls, метод ehlo () должен идти раньше и после Вашего использования, правды? – retr0 30.11.2019, 23:08
  • 2
    Sí он должен идти раньше для того, чтобы сервер понял, что ты - клиент " moderno" и предложите тебе возможность делать STARTTLS. И он должен идти снова despué s для того, чтобы клиент открыл qué mé все autenticació n вынеси этот сервер. – abulafia 30.11.2019, 23:08