Acho que clicar em um campo “Tipo de E-mail”, como user_watching_first_post, deve exibir os detalhes da mensagem de bounce recebida do destinatário pretendido.
No entanto, no meu site auto-hospedado, recebo a mensagem de erro mencionada acima. Há algo que eu possa fazer para corrigir isso?
Isso está correto. Acabei de verificar isso no meu site Discourse hospedado e está funcionando sem problemas. Se o seu site estiver na versão mais recente do Discourse, estou me perguntando se o problema está relacionado à forma como seu servidor de e-mail lida com o encaminhamento da mensagem de bounce.
O mesmo problema aqui. Auto-hospedado, atualizado. Os rebotes estão sendo tratados da maneira recomendada. Os links de antes de mudarmos para o tratamento adequado de rebotes funcionam bem.
Sim, provavelmente o Discourse não está recebendo isso do Mailgun. Não sei como os webhooks funcionam, mas suspeito que eles apenas informam ao Discourse que houve uma falha temporária ou permanente, sem enviar a mensagem de bounce.
Existe alguma maneira de fazer esse recurso do Discourse funcionar com o Mailgun?
Deveria ser possível mostrar, pelo menos, o código e a mensagem de erro:
Tanto o código de erro SMTP quanto a mensagem de erro SMTP são preservados
“code”: 550,
“address”: “'baz@example.com”,
“error”: “Message was not accepted – invalid mailbox. Local mailbox 'baz@example.com is unavailable: user not found”
Após meus próprios testes, parece que em muitos casos, os bounces não são recebidos pelo destinatário do e-mail. (Encontrei apenas uma tentativa de conexão para um, que foi prontamente perdida). Não estou vendo o cabeçalho Return-Path ser definido (ele deveria ser?) o que me faz pensar que eles nem estão sendo enviados de volta na maioria das vezes.
Ainda há um problema aqui também. Apesar da minha declaração anterior, agora parece que nenhum desses links funciona, voltando ao início do site. Inicialmente, isso afetou apenas os bounces de antes de começarmos a lidar com os bounces corretamente (Configure VERP to handle bouncing e-mails).
Acabei de notar várias mensagens de aviso no log de erros, semelhantes a estas:
Email não pode ser processado: Email::Receiver::AutoGeneratedEmailError
Recebido: de ...
para <bounce+f7e463.5f70e9-...@forum.example.com>; ...
Assunto: Sua mensagem não pôde ser entregue
Talvez seja por isso que o Discourse não tem detalhes sobre os e-mails devolvidos.
Não estou vendo esses erros nos logs, mas o problema persiste. Quando clico no valor do Tipo de E-mail para uma entrada na lista de E-mails Retornados, recebo “Ocorreu um erro: Discourse::NotFound”.
Já estava selecionado. Voltei um pouco mais no log e, embora eu veja mensagens ocasionais relacionadas a e-mail, não estou vendo as que você mencionou.
Esse é o comportamento esperado quando a resposta de rejeição não foi processada pelo Discourse. O recurso está funcionando corretamente se o Discourse receber as rejeições, caso contrário, ele mostrará essa resposta para todas as rejeições.
Você quer dizer que se o Discourse só descobre sobre a rejeição por meio de um webhook do Mailgun, os detalhes da rejeição nunca são enviados ao Discourse. Está correto?
Em que circunstância o Discourse lidaria com rejeições em vez do serviço de e-mail externo? (Eu sei que o Discourse pode rejeitar/recusar e-mails, mas quero dizer lidar com mensagens de rejeição recebidas de destinatários de e-mail pretendidos.)