Почему smtplib работает не со всеми почтами?

import smtplib 
EMAIL = '[email protected]'
PASS_EMAIL = '**********'
email = "[email protected]"
smtpObj = smtplib.SMTP('smtp.gmail.com', 587)
smtpObj.starttls()
smtpObj.login(EMAIL, PASS_EMAIL)
smtpObj.sendmail(EMAIL, email, "Hello, a message for testing!")
smtpObj.quit()

Если отсылаю на почту на gmail, то все работает. С яндеском через раз. mail.ru и rambler не работают — почта не доходит. Т.e., если я через gmail пытаюсь отправить письмо на другие почтовые сервисы, то не доходит оно до них (даже в спам нет). Как исправить?


Ответы (1 шт):

Автор решения: eri

2 варианта отправки по смтп есть. Первый: логинишься в сервер отправителя, второй без авторизации в сервер получателя.

Во втором случае письмо лучше подписать через DKIM, иначе 50/50 попадешь в спам.

В первом случае домен почты должен принадлежать серверу.

Для ботов лучше запустить локальный smtp сервер и отправлять в него, а тот отправит на сервер получателя.

А ещё Mail.ru требует web авторизацию

→ Ссылка