Не удалось отправить POST-запрос с e-mail (ошибка 301)

Привет,

У меня возникла проблема с настройкой ответа по электронной почте после того, как я следовал этому руководству. Я изучил предложения по устранению неполадок и обнаружил, что письма застряли в очереди, а в логах почтового приёмника есть ошибки…

Не удалось выполнить POST-запрос с письмом на http://community.parseplatform.org/admin/email/handle_mail: 301

Извините, если это дубликат, но я не смог найти тему с аналогичной проблемой.

Ошибка исправляется очень просто.
Вам нужно использовать ссылку с https в конфигурации yml для почтового получателя.

Код 301 в конце ошибки верен, так как ссылка http перенаправляется (301) на https, из-за чего запрос POST не получает правильный ответ 200.

Спасибо, действительно простое исправление! Возможно, стоит обновить шаблон почтового получателя — все же все используют Discourse с HTTPS, верно?

Я даже не подумал, что это стандартный код ответа HTTP :man_facepalming:

Хотя это и не по теме, должен сказать, что Discourse — замечательное программное обеспечение. У меня возникло несколько проблем при настройке, но учитывая его внутреннюю сложность и мой недостаток опыта в этой области, всё прошло удивительно легко!

У меня та же проблема. Я пытался изменить URL на https (и пересобрал приложение), но проблема сохраняется:

<22>Apr 13 10:18:10 postfix/smtpd[323]: connect from mail-vs1-f50.google.com[209.85.217.50]
<22>Apr 13 10:18:11 postfix/smtpd[323]: 403AF81D15: client=mail-vs1-f50.google.com[209.85.217.50]
<22>Apr 13 10:18:11 postfix/cleanup[329]: 403AF81D15: message-id=<XXXXXXXXX@mail.gmail.com>
<22>Apr 13 10:18:11 postfix/qmgr[80]: 403AF81D15: from=<XXXXXXXXX@gmail.com>, size=2555, nrcpt=1 (queue active)
<22>Apr 13 10:18:11 postfix/smtpd[323]: disconnect from mail-vs1-f50.google.com[209.85.217.50] ehlo=1 mail=1 rcpt=1 data=1 quit=1 commands=5
<23>Apr 13 10:18:11 receive-mail[331]: Recipient: testing@mydomain.com
<19>Apr 13 10:18:11 receive-mail[331]: Failed to POST the e-mail to http://forum.mydomain.com/admin/email/handle_mail: 301
<22>Apr 13 10:18:11 postfix/pipe[330]: 403AF81D15: to=<testing@mydomain.com.ar>, relay=discourse, delay=0.72, delays=0.55/0.01/0/0.16, dsn=4.3.0, status=deferred (temporary failure)

Возможно, мне нужно включить опции SSL в шаблоне электронной почты? Мой Discourse работает за глобальным экземпляром nginx (я вижу, что порт 25 открыт в mail-reciever.template).

Спасибо за ваше время, как всегда.

Вот ваша проблема.
Отредактируйте файл mail-receiver.yml, чтобы использовать https://forum.mydomain.com, и всё должно заработать.

Я попробовал добавить https, как вы и говорили ранее, но требуется пересборка mail-receiver (не глобальное приложение :sweat_smile:).

Каждый день я узнаю что-то новое о Linux, Docker и Discourse.

Ребята, вы — лучшее сообщество, которое я видел за очень долгое время. Спасибо ещё раз!

Как правило, очевидно, что если мы вносим изменения в YAML-файл, необходимо пересобрать соответствующий контейнер.

Рад, что вам удалось разобраться, и извините, что в своём ответе не объяснил это чётко.