По каким параметрам Yandex определяет отправку из скрипта?

Добрый день!

При попытке отправить письмо с использованием smtplib в Python, Яндекс отклоняет авторизацию с сообщением о подозрении на спам. Сравнил SMTP-сессии почтового клиента и скрипта и не заметил критичных отличий.
Прошу поделиться информацией, на основе каких параметров Яндекс отличает авторизацию из почтового клиента и авторизацию из питоновского скрипта?

Лог из питона
spoiler
send: 'STARTTLS\r\n'
reply: b'220 Go ahead\r\n'
reply: retcode (220); Msg: b'Go ahead'
send: 'ehlo localhost\r\n'
reply: b'250-smtp2h.mail.yandex.net\r\n'
reply: b'250-8BITMIME\r\n'
reply: b'250-PIPELINING\r\n'
reply: b'250-SIZE 42991616\r\n'
reply: b'250-AUTH LOGIN PLAIN XOAUTH2\r\n'
reply: b'250-DSN\r\n'
reply: b'250 ENHANCEDSTATUSCODES\r\n'
reply: retcode (250); Msg: b'smtp2h.mail.yandex.net\n8BITMIME\nPIPELINING\nSIZE 42991616\nAUTH LOGIN PLAIN XOAUTH2\nDSN\nENHANCEDSTATUSCODES'
send: 'AUTH PLAIN AGtvb2xqZG1312312312312123h5Ymh5c3ExMjM=\r\n'
reply: b'535 5.7.8 Error: authentication failed: Your message looks like spam. You need to use web for sending or prove you are not a robot using the following link http://ya.cc/6lIV\r\n'
reply: retcode (535); Msg: b'5.7.8 Error: authentication failed: Your message looks like spam. You need to use web for sending or prove you are not a robot using the following link http://ya.cc/6lIV'
send: 'AUTH LOGIN a29vbGpkY123123FuZGV4LnJ1\r\n'
reply: b'334 UGFzc3dvcmQ6\r\n'
reply: retcode (334); Msg: b'UGF123123cmQ6'
send: 'aWZoeWJoeXNxMTIz\r\n'
reply: b'535 5.7.8 Error: authentication failed: Your message looks like spam. You need to use web for sending or prove you are not a robot using the following link http://ya.cc/6lIV\r\n'
reply: retcode (535); Msg: b'5.7.8 Error: authentication failed: Your message looks like spam. You need to use web for sending or prove you are not a robot using the following link http://ya.cc/6lIV'
Traceback (most recent call last):
 File "/home/wufam/send_mail.py", line 11, in <module>
 File "/usr/lib/python3.5/smtplib.py", line 729, in login
    raise last_exception
 File "/usr/lib/python3.5/smtplib.py", line 720, in login
   initial_response_ok=initial_response_ok)
 File "/usr/lib/python3.5/smtplib.py", line 641, in auth
   raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (535, b'5.7.8 Error: authentication failed: Your message looks like spam. You need to use web for sending or prove you are not a robot using the following link http://ya.cc/6lIV')
[Finished in 0.7s with exit code 1]
[shell_cmd: python3 -OO -u "/home/wufam/send_mail.py"]
[dir: /home/wufam]
[path: /home/wufam/bin:/home/wufam/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin]


Мой вопрос не на поиск решения на Python или рабочего скрипта. Интересует лишь информация.
  • Вопрос задан
  • 3011 просмотров
Решения вопроса 1
Zarom
@Zarom Автор вопроса
Удалось отправить после указания address-literal отправителя, Яндекс не регистрирует письмо как спам. Вот корректный вариант инициализации:
smtpObj = smtlib.SMTP("smtp.yandex.ru",587,"[10.100.16.102]")

PLAIN авторизация не являлось помехой.

Благодарю Rsa97 и Максим Гришин за помощь в поиске корректной информации.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
ehlo localhost
В HELO и EHLO надо указывать корректное FQDN отправителя. Крайне желательно, чтобы обратный DNS указывал на это FQDN.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы