Mail-receiver e/ou Discourse não estão enviando respostas por e-mail

Recentemente migrei o Discourse da AWS para o DO Migrate from AWS to Digital Ocean with 2 containers, spaces and 2 CDNs - #3 by dfriestedt. Tudo está funcionando bem, exceto o meu mail-receiver.

Quando respondo por e-mail e inspeciono os logs com ./launcher logs mail-receiver, obtenho o seguinte:

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

Parece que estou obtendo um status de “sent” nos logs, no entanto, a resposta não está aparecendo no Discourse. Alguma ideia sobre isso? Isso só começou a acontecer após minha migração da AWS para o 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

Investiguei os logs executando o seguinte. Parece que estou obtendo algumas falhas temporárias por um motivo desconhecido.

./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
                                                           (falha temporária)
                                         replies+9009a1d55776827244f5c75332c2efa7@reply.XXX.com

324792F6EDF    23547 Mon Sep 28 15:23:22  drew@XXX.com
                                                           (falha temporária)
                                         replies+b42b43ae2bde8b6b951d46647f387b32@reply.XXX.com

D07792F7525    21712 Mon Sep 28 15:53:04  drew@XXX.com
                                                           (falha temporária)
                                         replies+9009a1d55776827244f5c75332c2efa7@reply.XXX.com

Você está executando a versão mais recente do contêiner mail-receiver? Você pode se interessar por este tópico:

Algumas outras coisas para verificar:

  • A chave de API na sua configuração do mail_receiver corresponde a uma chave de API na interface de administração do Discourse?
  • Você tem algum e-mail aparecendo nos logs em /admin/email/rejected?

Olá. Obrigado pela sua resposta.

No arquivo mail-receiver.yml, tenho base_image: discourse/mail-receiver:release e não vejo nenhuma mensagem de erro indicando que o mail-receiver está desatualizado. Recriei o mail-receiver várias vezes.

Não vejo nenhum e-mail rejeitado aqui: /admin/email/rejected
Gerei uma nova chave de API para o usuário system com todos os privilégios. Estou usando essa chave no mail-receiver.yml. Eu pensava que o problema era a API, mas verifiquei várias vezes se os números batem.

Curioso, não estou vendo nenhuma atividade na API que criei

Para testar a conexão de rede entre os contêineres, você pode tentar entrar no contêiner assim:

./launcher enter mail-receiver

E então tente:

wget -O - $DISCOURSE_MAIL_ENDPOINT

Se a conexão for bem-sucedida, você deverá ver:

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

Caso contrário, verifique novamente o valor de DISCOURSE_MAIL_ENDPOINT em sua configuração.

O nível da minha estupidez é insano. Eu mereço um enorme capuz de bobo.

Conectando a discuss.360velo.com.com (199.59.242.154:80).

com.com… ??? Eu tinha o DISCOURSE_MAIL_ENDPOINT errado. Havia dois .com.com na URL e eu deveria estar usando https em vez de http. Muito obrigado por me indicar o caminho certo.