Я не получаю электронные письма при создании учётной записи. Неужели я что-то сделал не так? В чём разница между SMTP-адресом и SMTP-доменом?
SMTP-адрес: user@example.com
SMTP-домен: example.com
Вы не могли бы мне помочь? Я использовал онлайн-инструмент SMTP, и всё работает отлично, но Discourse, похоже, не отправляет письма при регистрации.
Здравствуйте и добро пожаловать @ethhaqn ![]()
Вы уже просмотрели руководство по устранению неполадок?
Я использовал команду telnet mail.theapi.tech 25, и она вернула 220 myhelper.tech ESMTP Postfix. Это старый домен, который я использовал для тестирования этой системы. Как вы думаете, это влияет на отправку писем? Если да, то где можно изменить домен? Снова отмечу, что это старый домен, но я не уверен, где именно мог ввести его, чтобы он возвращался при запуске telnet mail.theapi.tech 25.
Также стоит отметить, что утилита ./discourse-doctor сообщила о необычной ошибке и, похоже, не смогла решить мою проблему.
Кроме того, я не использовал ./discourse-setup для установки Discourse, так как порт 80 был занят. Вместо этого я вручную отредактировал файл containers/app.yml и выполнил команду ./launcher rebuild app.
Я выполнил команду tail shared/standalone/log/rails/production.log, и в логах указано:
Processing by FinishInstallationController#confirm_email as HTML
Rendered finish_installation/confirm_email.html.erb within layouts/finish_installation (Duration: 0.7ms | Allocations: 255)
Rendered layout layouts/finish_installation.html.erb (Duration: 6.7ms | Allocations: 2103)
Completed 200 OK in 8ms (Views: 7.4ms | ActiveRecord: 0.0ms | Allocations: 2735)
start
Rendered layouts/email_template.html.erb (Duration: 0.1ms | Allocations: 34)
Delivered mail 0e5b023a-90f9-4c23-ae2b-488b4d70d907@theapi.tech (39.6ms)
Job exception: hostname "mail.theapi.tech" does not match the server certificate
fail
openssl s_client -connect mail.theapi.tech:25 -starttls smtp -showcerts
Ошибка проверки: самоподписанный сертификат
Поэтому необходимо установить DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none в вашем файле app.yml
Разве это не означает, что вам больше не нужно подтверждать свой адрес электронной почты?
Нет. Это заставит Discourse пропустить проверку, которая в данный момент не проходит.
А, вот и всё. Как мне получить SSL-сертификат? Кстати, это в моём app.yml:

Я думаю, что часть, где вы настраиваете свой собственный почтовый сервер, выходит за рамки этого форума.
Нет-нет, не на моём почтовом сервере. Имеется в виду, на моём самом сайте Discourse.
Пожалуйста, следуйте инструкциям по адресу Run other websites on the same machine as Discourse, и если это не поможет, откройте новую тему.
Привет! Я обновил локальный экземпляр Discourse до версии 2.9.0.beta4, но даже после добавления строки DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: "none" в файл containers/app.yml (и пересборки приложения) я продолжаю получать следующие ошибки:
Rendered layouts/email_template.html.erb (Duration: 0.2ms | Allocations: 34)
Delivered mail 31c5b9eb-1077-4155-b040-314c4a8566cb@taverne.colorfulminis.com (11.3ms)
Job exception: SSL_connect returned=1 errno=0 state=error: certificate verify failed (self signed certificate)
Очевидно, что из-за этого мой экземпляр Discourse больше не может отправлять письма.
Есть ли какая-то известная проблема, связанная с этим?
К сведению: у меня работает предрелизная версия с 2.8.0.beta9 и точно такой же конфигурацией, и там письма отправляются без проблем.
Спасибо за помощь.
Привет, Алексис,
У меня точно такая же проблема на виртуальной машине (Ubuntu 22.04 с экземпляром Discourse 2.9.0.beta4 на базе Docker). Даже при настройке DISCOURSE_SMTP_OPENSSL_VERIFY_MODE: none в файле container/app.yml (и переменной окружения Docker $DISCOURSE_SMTP_OPENSSL_VERIFY_MODE, установленной в значение none), продолжает возникать ошибка certificate verify failed (self signed certificate).
Редактирование: к сведению, стабильная версия (2.8.3) работает как ожидалось.
Для справки: включение DISCOURSE_SMTP_ENABLE_START_TLS: true решило проблему на моей стороне.
Для тех, кто безуспешно искал ответы и попал сюда:
Только что я с удовольствием выяснил, что мой провайдер VPS-хостинга требует сначала включить исходящие порты для почты на только что установленной системе. Я об этом знал, но вспомнил только после ночного сна ![]()
Удачного хостинга! ![]()