Почтовый сервер и/или Discourse не публикуют ответы на письма

Недавно я мигрировал Discourse с AWS на DO Migrate from AWS to Digital Ocean with 2 containers, spaces and 2 CDNs - #3 by dfriestedt. Всё работает отлично, за исключением почтового получателя (mail-receiver).

Когда я отвечаю по электронной почте и просматриваю логи с помощью команды ./launcher logs mail-receiver, я вижу следующее:

Operating environment:
RUBYGEMS_VERSION=2.7.7
MAIL_DOMAIN=reply.EXAMPLE.com
BUNDLER_VERSION=1.16.3
DISCOURSE_API_USERNAME=system
LANG=en_US.UTF-8
HOSTNAME=discourse-beta-ubuntu-s-4vcpu-8gb-nyc1-01-mail-receiver
RUBY_VERSION=2.3.7
GEM_HOME=/usr/local/bundle
PWD=/
HOME=/root
DISCOURSE_API_KEY=REMOVE
BUNDLE_PATH=/usr/local/bundle
BUNDLE_APP_CONFIG=/usr/local/bundle
TERM=xterm
BUNDLE_SILENCE_ROOT_WARNING=1
RUBY_MAJOR=2.3
SHLVL=1
RUBY_DOWNLOAD_SHA256=c61f8f2b9d3ffff5567e186421fa191f0d5e7c2b189b426bb84498825d548edb
PATH=/usr/local/bundle/bin:/usr/local/bundle/gems/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
DISCOURSE_MAIL_ENDPOINT=http://discuss.EXAMPLE.com.com/admin/email/handle_mail
DOCKER_HOST_IP=172.17.0.1
_=/usr/bin/env
Delivering mail sent to reply.EXAMPLE.com to Discourse
Starting Postfix

Похоже, что в логах отображается статус «sent», однако ответ не появляется в Discourse. Есть ли у кого-нибудь идеи? Это началось только после миграции с AWS на DO.

<22>Sep 28 15:27:24 postfix/master[1]: daemon started -- version 3.2.4, configuration /etc/postfix
<22>Sep 28 15:28:32 postfix/smtpd[82]: connect from mail-vs1-f104.google.com[209.85.217.104]
<22>Sep 28 15:28:32 postfix/smtpd[82]: B56602F7524: client=mail-vs1-f104.google.com[209.85.217.104]
<22>Sep 28 15:28:32 postfix/cleanup[89]: B56602F7524: message-id=<b1642e591e436f0abeea7d2f34a48aa9@frontapp.com>
<22>Sep 28 15:28:32 postfix/qmgr[81]: B56602F7524: from=<drew@XXXX.com>, size=21558, nrcpt=1 (queue active)
<22>Sep 28 15:28:32 postfix/smtpd[82]: disconnect from mail-vs1-f104.google.com[209.85.217.104] ehlo=1 mail=1 rcpt=1 data=1 quit=1 commands=5
<23>Sep 28 15:28:32 receive-mail[91]: Recipient: replies+9009a1d55776827244f5c75332c2efa7@reply.EXAMPLE.com
<22>Sep 28 15:28:32 postfix/pipe[90]: B56602F7524: to=<replies+9009a1d55776827244f5c75332c2efa7@reply.EXAMPLE.com>, relay=discourse, delay=0.3, delays=0.17/0/0/0.13, dsn=2.0.0, status=sent (delivered via discourse service)
<22>Sep 28 15:28:32 postfix/qmgr[81]: B56602F7524: removed

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

./launcher enter mail-receiver
mailq

-Queue ID-  --Size-- ----Arrival Time---- -Sender/Recipient-------
348432F7524*   11603 Mon Sep 28 16:01:06  mapmeister@XXX.net
                                         replies+429b18013a7bd110cab88a1a0f57f4cd@reply.XXX.com

95ED82F7526*   21757 Mon Sep 28 16:01:10  drew@XXX.com
                                         replies+9009a1d55776827244f5c75332c2efa7@reply.XXX.com

42A2C2F6EE0    21607 Mon Sep 28 15:25:32  drew@XXX.com
                                                           (временный сбой)
                                         replies+9009a1d55776827244f5c75332c2efa7@reply.XXX.com

324792F6EDF    23547 Mon Sep 28 15:23:22  drew@XXX.com
                                                           (временный сбой)
                                         replies+b42b43ae2bde8b6b951d46647f387b32@reply.XXX.com

D07792F7525    21712 Mon Sep 28 15:53:04  drew@XXX.com
                                                           (временный сбой)
                                         replies+9009a1d55776827244f5c75332c2efa7@reply.XXX.com

Вы используете последнюю версию контейнера mail-receiver? Возможно, вам будет интересно ознакомиться с этой темой:

Также проверьте следующее:

  • Совпадает ли ключ API в конфигурации mail_receiver с ключом API в административном интерфейсе Discourse?
  • Есть ли записи об отклонённых письмах в логах /admin/email/rejected?

Здравствуйте. Спасибо за ваш ответ.

В файле mail-receiver.yml у меня указано base_image: discourse/mail-receiver:release, и я не вижу сообщения об ошибке о том, что mail-receiver устарел. Я многократно пересобирал mail-receiver.

Здесь: /admin/email/rejected я не вижу ни одного отклонённого письма.
Я сгенерировал новый API-ключ для пользователя system со всеми привилегиями. Я использую его в mail-receiver.yml. Я думал, что проблема в API, но несколько раз проверял, что числа совпадают.

Интересно, я не вижу никакой активности на созданном мной API

Чтобы проверить сетевое соединение между контейнерами, вы можете попробовать войти в контейнер, выполнив

./launcher enter mail-receiver

Затем выполните

wget -O - $DISCOURSE_MAIL_ENDPOINT

Если соединение установлено успешно, вы увидите

wget: server returned error: HTTP/1.1 404 Not Found

Если нет, дважды проверьте значение DISCOURSE_MAIL_ENDPOINT в вашем конфигурационном файле.

Мой уровень глупости просто зашкаливает. Я заслуживаю огромную дурацкую шапку.

Connecting to discuss.360velo.com.com (199.59.242.154:80).

com.com… ??? У меня была неверная переменная DISCOURSE_MAIL_ENDPOINT. В URL я случайно написал два .com.com, а ещё должен был использовать https вместо http. Большое спасибо, что указали мне правильное направление.