По какой-то причине я не получаю письма от моей установки Discourse.
Я уже проверил настройки SMTP, и они работают для других платформ.
Также проверил это через Telnet.
По какой-то причине я не получаю письма от моей установки Discourse.
Я уже проверил настройки SMTP, и они работают для других платформ.
Также проверил это через Telnet.
См. Устранение неполадок с электронной почтой при новой установке Discourse.
Частая проблема заключается в том, что Discourse отправляет письма с адреса, который ваш сервер не принимает.
У меня похожая ситуация. Установил, сайт отвечает, но письмо с регистрацией не приходит. Проверил отправку почты с сервера Discourse изнутри контейнера приложения с теми же настройками и учётными данными — работает, тестовое сообщение отправлено и получено корректно. Запуск doctor выдаёт:
Отправка письма на my_correct_user@my_correct_domain. . .
Проверка отправки на my_correct_user@my_correct_domain через correct_smtp_server_name:465, имя пользователя: correct_smpt_user@correct_sender_domain с plain-аутентификацией.
======================================== ОШИБКА ========================================
НЕОЖИДАННАЯ ОШИБКА
Net::ReadTimeout
====================================== РЕШЕНИЕ =======================================
Это не распространённая ошибка. Рекомендованного решения нет!
[....]
Попробовал сменить порт на 587 — теперь Net::ReadTimeout в логах не появляется, но письма всё равно не отправляются. Что делать дальше? Каким должно быть правильное значение DISCOURSE_SMTP_DOMAIN? Это единственное, в чём я всё ещё сомневаюсь.
Та же проблема здесь. Пожалуйста, помогите.
Если вы получаете тайм-аут при чтении, это означает, что исходящий SMTP-порт заблокирован. Вам необходимо разблокировать его или использовать другой порт.
Я лично использую порт submission на этом сервере, поэтому он точно не заблокирован. И, верно, при использовании порта 587 ошибка тайм-аута не возникает. Поскольку у меня нет возможности внести изменения в конфигурацию сервера, правильно ли я понимаю, что поддерживается только SMTPS?
Порт 587 поддерживает явное TLS (STARTTLS), и почтовый сервер может быть настроен на приём отправки через этот порт без обязательного использования TLS, поэтому вы можете использовать незашифрованный SMTP через этот порт.
(Теперь несколько устаревший порт 465 использовал неявное TLS, и у вас не было выбора).
Верно, сервер настроен на работу с явным TLS на порту отправки (587). Что нужно сделать в конфигурации Discourse, чтобы это работало через 587 с TLS? Должно ли это работать из коробки или нет?
Существует параметр DISCOURSE_SMTP_ENABLE_START_TLS, значение по умолчанию — true.