По каким параметрам 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 или рабочего скрипта. Интересует лишь информация.
  • Вопрос задан
  • 3059 просмотров
Решения вопроса 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.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы