На следующем изображении видно, что некоторые пользователи зарегистрировались 3 дня назад, а некоторые — даже 7 дней назад, но так и не получили письмо о регистрации (в красной рамке указано «время отправки последнего письма»).
Я знаю, что настройки электронной почты настроены правильно, потому что я получаю письма (например, я могу протестировать это, нажав на «Забыли пароль», и мне придёт письмо с инструкциями). Я понимаю, что Mailgun — это другая компания, но не уверен, что проблема с их стороны. В чём может быть дело?
РЕДАКТИРОВАНО: Я также попробовал зарегистрироваться сам, и система сообщила, что Discourse отправил мне письмо о регистрации, но его нет в моём почтовом ящике (проверил все папки, спам и корзину). Я также проверил раздел «Отправленные» в админ-панели и не нашёл записи о регистрации для этого пользователя. Пожалуйста, помогите, так как кажется, что новые пользователи могут регистрироваться на нашем форуме.
Спасибо за быстрый ответ
Я проверил логи — даже попыток отправить регистрационное письмо не обнаружено. Вот почему я подумал, что проблема может быть в Discourse (возможно, он не может запросить у Mailgun отправку письма?). Есть какие-то идеи?
Вы уверены, что ваш хостинг-провайдер не блокирует порт, который вы используете для отправки электронной почты?
Некоторые провайдеры (включая DigitalOcean) блокируют порты 25, 465 и 587, чтобы предотвратить спам с новых серверов. Если вы столкнулись с этой проблемой, попробуйте использовать Mailgun с портом 2525 (измените порт в файле app.yml и выполните пересборку).
Простой способ проверить, заблокирован ли ваш порт, — использовать команду telnet: telnet smtp.mailgun.com <port>
Спасибо за ваш ответ.
К сожалению, у меня не установлен telnet. Я попытался изменить порт на 2525 (вместо 587), но похоже, что письма с регистрацией всё равно не отправляются. Я использую DigitalOcean и видел, что это может быть проблемой, но если они блокируют порт, разве Discourse не должен записать это в admin->mail logs в разделе неудачных попыток?
Да, я вводил. Также я пробовал which talnet, но он ничего не возвращает. (Разве это не команда Linux, помимо того что это протокол?)
Я попытался проверить /sidekiq (я видел эту рекомендацию в похожих темах). Ошибок нет, и упоминаний о попытке отправки письма активации тоже нет. Я недавно перезагружал систему и попробовал изменить порт почты на 2525, как предлагалось ранее.
Со стороны Discourse проблем не обнаружено.
Можете проверить example.com/logs, чтобы увидеть, есть ли что-то конкретное, связанное с электронной почтой? Также проверьте /sidekiq, чтобы убедиться, что нет неудачных заданий.
Не думаю, что они связаны с проблемой почты, но если кто-то знает, как их исправить, буду рад услышать.
В sidekiq я не вижу ни неудачных, ни застрявших задач.
Кстати, просто хотел сказать спасибо всем за попытку помочь
Это кажется странным, и я действительно не могу придумать причину. Видите ли вы отправку писем в логах Mailgun? Работают ли другие письма нормально? Можете ли вы без проблем отправить тестовое письмо из Discourse на такие адреса?
Последний автоматический сводный отчет был отправлен мне два дня назад (пока у нас небольшой форум, поэтому писем не так много).
Я только что попробовал протестировать отправку этого отчета мне, и он действительно отправляется (кстати, сводный отчет отправляется только администратору, верно? Потому что я пробовал с обычным пользователем, и это не сработало).
Есть ли способ отправить тестовое письмо на адрес не-администратора?
Если установлено значение «Да» или «Только для сотрудников», то на стороне Discourse отключаются все письма, поэтому они фактически не отправляются никому, кроме действующих сотрудников.
Да, именно так!
Я об этом не думал (возможно, потому что мои настройки написаны наполовину на английском, наполовину на иврите).
Это правильный ответ. Отлично, теперь всё работает
Спасибо всем за помощь