Невозможно переслать уведомления по электронной почте с другого сервера Discourse

Воспроизведение

  • Получите полезное уведомление по электронной почте от сайта Discourse A через категорию, за первыми сообщениями которой вы «следите».
  • Перешлите это уведомление по электронной почте на сайт Discourse B, используя адрес электронной почты, настроенный для создания новых сообщений в существующую группу.

Ожидаемый результат

Содержимое обрабатывается корректно, и создается личное сообщение.

Фактический результат

Письмо не обрабатывается, сообщение не создается, и отправителю приходит уведомление о возврате:

Нам очень жаль, но ваше письмо на адрес discourse-site-b@example.org (с темой Fw: [Discourse Site A] [Announcements] Big News) не было доставлено. При обработке вашего письма произошла неустановленная ошибка, и оно не было опубликовано. Попробуйте снова или свяжитесь с сотрудником поддержки.

2 лайка

Моя первая мысль — проверить вашу настройку block auto generated emails.

Спасибо за эту мысль. Так как я переслал письмо вручную из своего почтового клиента, этот заголовок не был отправлен, но ваш комментарий побудил меня проверить, есть ли что-то подобное в логах ошибок.

Ошибка обнаружена в /admin/email/rejected:

undefined method 'lines' for nil:NilClass

Не уверен, поможет ли это кому-то более сведущему, чем я.


Обновление: Ещё один факт. Я получил то же письмо об отказе и ту же ошибку в логах, что и выше, при попытке переслать письмо от другого человека. Это заставляет меня думать, что проблема может быть связана с тем, как клиент Microsoft Outlook/Exchange обрабатывает пересылаемые сообщения. Расследование с моей стороны продолжится.

4 лайка

Это, безусловно, похоже на ошибку, которую следует исправить. Однако даже после её исправления заголовки пересылаемого вами письма указывают на то, что оно отправлено каким-то массовым рассылщиком; вам как-то нужно добавить его в белый список.

@zogstrip, нам, вероятно, стоит поручить разобраться с ошибкой nil-класса для метода lines?

3 лайка

По идее, если этот баг будет исправлен, смогу ли я получить больше информации о том, почему письмо блокируется?

Я более внимательно изучу заголовки, которые может добавлять мой сервер. Также готов поделиться ими по отдельности, если кто-то захочет посмотреть подробнее, но, возможно, для этого пока рано.

3 лайка

Да, баг, скорее всего, скрывает реальную проблему. Её устранение продвинет нас немного вперёд.

5 лайков

5 лайков

@gerhard, не хочешь взглянуть, раз ты последний, кто трогал этот участок кода?

5 лайков

Мне не удалось воспроизвести проблему, но я вижу, где код может дать сбой.
@downey, не могли бы вы прислать мне исходное письмо в личные сообщения? Я хочу убедиться, что применяю правильное исправление.

5 лайков

Пример письма я так и не получил, но я исправил основную проблему.

Если у вас всё ещё возникают проблемы с пересылкой писем, пожалуйста, создайте новый отчёт об ошибке.

4 лайка