Заметки обо всем

535 5.7.0 Mailgun is not loving your login or password)

При очередной настройке mail relay через Mailgun столкнулся с очень неприятной проблемой, которая попортила мне много нервов, вплоть до того, что я уже хотел искать хостинг, где нет таких заморочек с почтой, как на DigitalOcean.

Настраивал все по мануалу DigitalOcean How to Set Up a Mail Relay with Postfix and Mailgun on Ubuntu 16.04.

Первое тестовое сообщение не прошло, я перепроверил все настройки и нашел, что пароль в файл /etc/postfix/sasl_passwd был скопирован неправильно. Я исправил файл, перезапустил сервер и ничего. Тестовой сообщение не отправляется и в логе postfix 535 5.7.0 Mailgun is not loving your login or password). И начались сбросы паролей, новые пользователи, кручение-верчение настроек и переписка с поддержкой. Так как указанная выше ошибка, как я понял, появляется только если проблемы именно с учетными данными, ничего особо путного саппорт мне посоветовать, кроме как перепроверить еще раз пароль/пользователь посоветовать не мог.

Наконец, когда я уже почти сдался, в очередном письме поддержки было следущее:

I would also recommend enabling verbose logging for your SMTP client to verify authentication is correctly used with your SMTP session.

Я загуглил что за такой "verbose logging" применительно к postfix и нашел эту статью и довольно быстро решил проблему. На этом лирическая часть закончена и дальше мой алгоритм действий.

Шаг 1. Включаем debug mode для postfix:

sudo vim /etc/postfix/main.cf

И дописываем в конец:

debug_peer_list = smtp.eu.mailgun.org

Сервер выбирайте нужный.

Перезапускаем postfix.

sudo service postfix restart

Шаг 2. Смотрим логи

Запускаем интерактиваный просмотр логов postfix:

sudo tail -f /var/log/mail.log

И в соседнем терминале отправляем тестовое письмо:

mail -s "Test mail" russkazkin@me.com <<< "A test message using Mailgun"

Дальше я нашел в подробном логе следующую фразу:

warning: database /etc/postfix/sasl_passwd.db is older than source file /etc/postfix/sasl_passwd

И понял, что просто исправить пароль недостаточно. Нужно еще обновить базу postfix.

sudo postmap /etc/postfix/sasl_passwd

И проблема решена.

Наверное, смысла особого так подробно это все расписывать не было, но я сейчас слишком рад, что решил эту проблему, которая висела всю неделю и хочется поделиться хотя бы с блогом. Ура!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *