Питон: Как отправлять почту через smtp-ретранслятор?

#email #smtp #smtplib

Вопрос:

Я следую этой процедуре Вариант 3 в SMTP Relay Office365, когда я выполнил все процедуры, указанные в статье. После этого, когда я запускаю свое приложение на python с

 s = smtplib.SMTP('XXMYMAILXX-com.mail.protection.outlook.com.', 25)
s.starttls()
s.login("john@XXMYMAILXX.com", "mypassword")
 

когда я запускаю этот фрагмент кода, я получаю сообщение об ошибке

 smtplib.SMTPNotSupportedError: SMTP AUTH extension not supported by server
 

Что я здесь упускаю?

Шаги, которые я предпринял в этой статье, следующие

  1. Добавлен IP-адрес, по которому запускается мой python, в мой почтовый соединитель
  2. Добавлена запись TXT с IP — адресом в записи spf.

Комментарии:

1. Сообщение об ошибке просто означает, что сервер не поддерживает (этот режим) аутентификации, или, возможно, что вам нужно отправить EHLO , прежде чем это произойдет.

2. Я отправляю EHLO все ту же ошибку

3. Инструкции, на которые вы ссылаетесь, похоже, не касаются обычной ретрансляции SMTP. В разделе ранее на этой странице говорится, что вы должны отдельно включить аутентификацию SMTP, но, похоже, в нем описан другой сценарий, хотя он, похоже, лучше соответствует тому, что вы, похоже, пытаетесь сделать. Почему вы не используете первый вариант в документации Microsoft?

4. Первый вариант не работает, потому что клиент использует Многофакторную аутентификацию, как приложение-аутентификатор, для входа в систему