Письмо активации не доставляется, тестовое письмо работает

Здравствуйте,

У меня возникла проблема с письмом активации. Судя по логам, оно отправляется, однако я ничего не получаю. Когда я использую Discourse Doctor, письмо приходит без проблем.
Может ли быть какая-то разница между этими двумя способами?

Для полноты картины: на прошлой неделе я получал письмо активации, но из-за проблем с распространением DNS кнопку активации нельзя было нажать. Эта проблема уже решена. Однако других изменений не вносилось, кроме добавления A-записи для указания IP-адреса. Поэтому я не понимаю, что изменилось, из-за чего письмо больше не доставляется?

Проверьте логи вашего почтового провайдера: отображается ли в них прохождение письма через их систему?

Проверяли ли вы папку «Спам»?

Не уверен, что у меня есть доступ к журналам почтового провайдера. До сих пор я использовал Microsoft 365 Enterprise для почты (знаю, что это не оптимально, и мы планируем это изменить). Но у меня нет прав администратора, которые, как я полагаю, необходимы для поиска журналов? По крайней мере, из моей точки доступа я ничего не могу найти.

Ничего в папке «Спам».

Попытался снова посмотреть на журнал продакшена, это выглядит правильно для вас?:

Processing by FinishInstallationController#register as HTML
Parameters: {“utf8”=>“✓”, “authenticity_token”=>“***==”, “email”=>“my@email”, “username”=>“PappaK”, “password”=>“[FILTERED]”, “commit”=>“Register”}
Redirected to mydomain. com
Completed 302 Found in 24ms (ActiveRecord: 0.0ms | Allocations: 4888)
Started GET “/finish-installation/confirm-email” for IP at 2020-09-21 05:37:43 +0000
Processing by FinishInstallationController#confirm_email as HTML
Rendering finish_installation/confirm_email.html.erb within layouts/finish_installation
Rendered finish_installation/confirm_email.html.erb within layouts/finish_installation (Duration: 1.0ms | Allocations: 388)
Rendered layouts/_head.html.erb (Duration: 13.4ms | Allocations: 2930)
Completed 200 OK in 18ms (Views: 16.5ms | ActiveRecord: 0.0ms | Allocations: 4738)

Кажется странным, что нет подтверждения отправки письма, как в тесте отправки почты:

Delivered mail my@email. com (682.5ms)

Я удалил некоторые идентифицирующие данные из журналов.

Только что попробовал использовать mail-tester с тестом Discours-doctor, и он тоже не прошел. Однако соединение SMTP сначала было установлено:

Успешное подключение к SMTP-серверу.
Отправка на test-2g0mti7f5@srv1.mail-tester.com
Отправка почты не удалась.

Использование теста Discourse-doctor для корпоративной почты по-прежнему работает отлично. При использовании личной почты система сообщает, что письмо принято SMTP-сервером, но я его не получаю.

Проверили ли вы папку «Спам»?

Да, ничего не приходит в папку «Спам» ни в одном почтовом ящике.

Разрешена ли учетная запись O365 на отправку электронной почты с адреса, который вы настроили для Discourse?

Следовал рекомендациям из этой темы:

Добавил коннектор и использовал MX-адрес, указанный на панели администратора O365.

Я решил пересоздать весь Droplet (от DigitalOcean) после пересоздания приложения, чтобы проверить, поможет ли это. И это сработало! Теперь форум работает, и я получил письмо с активацией на свой аккаунт администратора.
Однако я всё ещё не могу получить письмо при попытке создать учётную запись с моего личного Gmail. В разделе «Пропущенные» (skipped) на странице настроек электронной почты в панели администратора форума появляется следующее сообщение об ошибке:
5…4 TenantAttribution; Relay Access Denied [HE…-eur04.prod.protection.outlook.com]

Похоже, решение может быть здесь:

Но я пока не пробовал. Обновлю информацию, как только найду время внедрить изменения по ссылке.

Краткое примечание: не приведёт ли пересоздание приложения к потере настроек, которые я изменил после активации аккаунта администратора?

По умолчанию Discourse отправляет письма с адреса noreply@discourse.domain.com. Распространённая проблема заключается в том, что ваш почтовый хост требует отправки с адреса domain.com. В статье Устранение неполадок с электронной почтой при новой установке Discourse описано, как это изменить.