Postfix отправка почты через Яндекс
Рассмотрим только основные моменты, связанные с авторизацией в Яндекс.
Ubuntu 20.04.4 LTS
postfix 3.4.13-0ubuntu1.2
Настройка Postfix
/etc/postfix/main.cf
... smtp_use_tls = yes smtp_tls_ciphers = high smtp_tls_protocols = !SSLv2, !SSLv3 smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt # http://www.postfix.org/postconf.5.html#smtp_tls_wrappermode smtp_tls_wrappermode = yes smtp_tls_security_level = encrypt smtp_sasl_auth_enable = yes smtp_sasl_security_options = noanonymous smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd relayhost: "[smtp.yandex.ru]:465"
/etc/postfix/sasl_passwd
[smtp.yandex.ru]:465 username@yandex.ru:PaS$w0rd
После создания / редактирования файла sasl_passwd, выполнить команду
postmap /etc/postfix/sasl_passwd
Настройка Яндекс
Создать отдельный пароль приложения для доступа к почте.
Управление профилем → Пароли и авторизация → Пароли приложений → Создать новый пароль → Почта
Разрешить доступ приложений к почте.
Почта → Настройки → Все настройки → Почтовые программы
Проставить галочки разрешения доступа по IMAP. ХЗ почему так, но в этом случае и SMTP заработает.
Ошибки
postfix/smtp[51400]: SMTPS wrappermode (TCP port 465) requires setting "smtp_tls_wrappermode = yes", and "smtp_tls_security_level = encrypt" (or stronger)Установить значения параметров, как указано в тексте.
postfix/smtp[52699]: BAF67161CBF: to=<*****@gmail.com>, orig_to=<root>, relay=smtp.yandex.ru[77.88.21.158]:465, delay=45, delays=0/45/0.16/0, dsn=4.7.8, status=deferred (SASL authentication failed; server smtp.yandex.ru[77.88.21.158] said: 535 5.7.8 Error: authentication failed: Invalid user or password! 1653570970-Q6fbg8kMua-G9jmRQVx)Проверить пароль в настройках Postfix. Выполнить команду postmap.
postfix/smtp[36780]: 0AAC3260AE1: to=<*****@gmail.com>, orig_to=<root>, relay=smtp.yandex.ru[77.88.21.158]:465, delay=14, delays=0.01/14/0.14/0, dsn=4.7.8, status=deferred (SASL authentication failed; server smtp.yandex.ru[77.88.21.158] said: 535 5.7.8 Error: authentication failed: This user does not have access rights to this service 1654483885-rKHV5iba9I-I5JaiOBs)Проверить настройки доступа приложений к почтовому ящику в Яндекс почте.
postfix/qmgr[36409]: 9A18D160AE1: from=<root@localhost.lan>, size=375, nrcpt=1 (queue active) postfix/smtp[37109]: 9A18D160AE1: to=<*****@gmail.com>, orig_to=<root>, relay=smtp.yandex.ru[77.88.21.158]:465, delay=60, delays=0.02/60/0.25/0.02, dsn=5.7.1, status=bounced (host smtp.yandex.ru[77.88.21.158] said: 553 5.7.1 Sender address rejected: not owned by auth user. 1653385338-3n8BH7iZW3-NzJa3hex (in reply to MAIL FROM command))Письмо содержит адрес From: (от кого) не совпадающий c почтовым адресом Яндекса. Проверьте настройки приложения, скрипта и т.п. укажите верный адрес отправителя.
Так же можно сделать принудительную замену адреса отправителя в настройках Postfix см. https://www.postfix.org/ADDRESS_REWRITING_README.html
Обсуждение