Я размещаю сервер Discourse на DigitalOcean, домен у PorkBun, почтовый сервер — MailGun.
Мой аккаунт MailGun активирован, и домен (discourse.mydomain.com) подтверждён для использования с mg.mydomain.com. Все необходимые DNS TXT-записи настроены.
При запуске discourse-doctor или при выполнении ./launcher enter app с последующим запуском rake 'emails:test[mail@mg.mydomain.com]' возникает следующая ошибка:
======================================== ОШИБКА ========================================
НЕОЖИДАННАЯ ОШИБКА
Net::SMTPAuthenticationError
====================================== РЕШЕНИЕ =======================================
Это не распространённая ошибка. Рекомендованного решения не существует!
Пожалуйста, сообщите точный текст ошибки выше по адресу https://meta.discourse.org/
(И решение, если вы его найдёте!)
=======================================================================================
Что-то не так в Discourse, поскольку у меня нет проблем с ручной отправкой писем. Я уже много часов ищу в Google и на форумах, но решений пока не нашёл. Есть какие-либо идеи?
Что-то не так с вашим именем пользователя или паролем. Возможно, в вашем пароле есть символ, требующий экранирования, например звёздочка или одинарная кавычка (поэтому проще всего изменить пароль так, чтобы он не содержал такого символа).
Пароль не содержит ни одного из этих символов. На самом деле это автоматически сгенерированный пароль от MailGun, который состоит только из букв, цифр и нескольких символов «-». Он довольно длинный.
Это была моя лучшая догадка. Попробуйте сгенерировать новый пароль и/или скопировать и вставить его заново. Вероятность того, что это ошибка в Discourse, крайне мала.
Скорее всего, DISCOURSE_SMTP_USER_NAME указан неверно — mail вряд ли достаточно для аутентификации в Mailgun. Вероятно, следует указать mail@mg.mydomain.com.
Кажется, вы полагаете, что DISCOURSE_SMTP_DOMAIN — это домен пользователя? Это не так — это домен EHLO. Скорее всего, вам вообще не нужно его устанавливать.
Я тоже только что это понял. Когда я тестировал через telnet, я использовал в качестве имени пользователя “mail@mg.mydomain.com”, и это сработало. Поэтому я попробую снова, указав это значение в DISCOURSE_SMTP_USER_NAME.
Я предполагаю, что вы думаете, будто DISCOURSE_SMTP_DOMAIN — это домен пользователя? Это не так — это домен EHLO. Скорее всего, вам не нужно его настраивать.
Не совсем понимаю, что это значит.
Для MailGun я использовал mg.mydomain.com, а для Discourse — discourse.mydomain.com. На данный момент у меня вообще нет никаких DNS-записей для mydomain.com, только для поддомена Discourse и TXT-записей для DNS MailGun.