Sendgrid сводит меня с ума!

Привет! Я пытаюсь запустить Discourse (вооружившись только Google и не имея реальных знаний об Ubuntu или чём-либо ещё). Страница page работает, но когда я пытаюсь зарегистрироваться как администратор, письмо не приходит.

На данный момент я:

  • Создал Droplet в Digital Ocean
  • Настроил Discourse через консоль Droplet
  • Создал API-ключ Sendgrid и обратную запись DNS
  • Подтвердил отправителя и аутентифицировал домен

Также стоит отметить:

  • Я использую порт 2525, так как прочитал, что это решило проблему у многих людей. В моём случае это не помогло, поэтому предполагаю, что я упускаю что-то простое.
  • Имя пользователя — “apikey”, так что это тоже не та ошибка.

Несмотря на всё вышеперечисленное, SendGrid не отправляет письма. Я запустил Discourse-Doctor, и вот что получилось:

Также я протестировал доставку писем на адрес mail-tester, как рекомендовали, но и это не помогло.

TELNET показал, что порт 2525 открыт и мой API-ключ действителен, но я постоянно получаю ошибку 550. Моя догадка в том, что это вызвано той же основной проблемой, которая влияет на работу почты Discourse. Но я буквально ничего не знаю об этом, так что могу сильно ошибаться.

Вот адрес сайта Discourse: www.learn.theterrain.io

Заранее спасибо!

Вот скриншот TELNET:

Похоже, вы не настроили DNS-записи правильно для подтверждения права владения доменом?

Нет, это точно настроено, я также уточнил это в поддержке SendGrid!

Я бы потребовал от них дополнительной помощи, поскольку эта ошибка — их проблема, а не Discourse.

Да, их поддержка пока была довольно бесполезной. Они тоже не знали, почему всё работает неправильно. Я попробую написать им по электронной почте — возможно, это будет эффективнее, чем чат.

Там есть два разных домена:

terrain.io, похоже, имеет Mailgun SPF-верификацию:

terrain.io - Domain Dossier - owner and registrar information, whois and DNS records

Возможно, где-то в ваших настройках произошла путаница между ними?

А, отличное зрение! Но это была опечатка, и, к сожалению, исправление этого не решает проблему, так как, судя по всему, проблема связана с полем «От кого» в письме. Я также не владею terrain.io.

Разобрался! Оставляю ответ здесь для всех, кто наткнется на эту тему!

cd /var/discourse
./launcher enter app
rails r "SiteSetting.notification_email = 'email address'"
exit

Я создал новый адрес электронной почты (forum@domain.com) и добавил его в Sendgrid. Всё отлично работает!