Erro "Discourse::NotFound" ao clicar no campo "Tipo de Email" em admin/email/bounced

I think clicking on an “Email Type” field, e.g. user_watching_first_post is meant to display details of the bounce message received from the intended recipient.

But on my self-hosted site I get the error message stated above. Is there anything I can do to fix this?

Thanks.

2 curtidas

That is correct. I’ve just checked this on my hosted Discourse site and it’s working without any problems. If your site is on the latest version of Discourse, I’m wondering is the issue is related to how your mail server handles forwarding the bounce message.

2 curtidas

Thanks. For outgoing mail I’m using Mailgun. I think I used Discourse’s recommended settings.

For incoming mail I’m using this Straightforward direct-delivery incoming mail But I’ve never updated it since installation - might that be the problem? As it’s ./launcher rebuild app for Discourse, is it ./launcher rebuild mail-receiver?

1 curtida

Yes, that’s how to upgrade it. It’s been a while since the last update, I think, but a good first stop) step would be to upgrade it and discourse.

2 curtidas

I have upgraded both and still get the same error, including (I think) for emails received since the upgrade. Any further ideas?

3 curtidas

Same problem here. Self-hosted, up to date. Bounces being handled the recommended way. Links from before we changed to proper bounce handling work fine.

4 curtidas

Yes likely Discourse isn’t getting it from Mailgun. I don’t know how the webhooks work but suspect it just tells Discourse there has been a temporary/permanent failure without sending the bounce message.

2 curtidas

Is there any way to make this Discourse feature work with Mailgun?

It should be possible to show at least the error code and message:

Both SMTP error code and SMTP error message are preserved
“code”: 550,
“address”: “'baz@example.com”,
“error”: “Message was not accepted – invalid mailbox. Local mailbox 'baz@example.com is unavailable: user not found”

If not then at least we need a sensible error message to explain why the link doesn’t work :slight_smile:

2 curtidas

Algum trabalho foi feito nisso. Ficaria muito grato se tivesse :slight_smile:

Eu uso Digital Ocean e Mailgun (as principais recomendações), então imagino que não sou o único com o problema.

3 curtidas

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.

2 curtidas

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).

3 curtidas

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”.

E se você marcar “Aviso”?

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.

Eu tenho o mesmo problema com o Mailgun. Host diferente, então não é isso!

Eu me pergunto se há um problema com as instruções de configuração do Mailgun para configuração VERP:

2 curtidas

Isso está lá há um tempo, mas só começou a causar problemas agora que estou tentando investigar por que estou recebendo tantos bounces no momento.

O problema parece ser que não há link na coluna Email Type e nada por trás do ícone :information_source: (setas vermelhas):

Quando clico nesses, recebo isto:

Analisando o código da página, as tags anchor no HTML parecem estar sem o href completamente:

Tenho o VERP configurado para o Mailgun, e parece estar funcionando bem, de resto.

1 curtida

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ê pode verificar e executar o teste de acordo com Configure VERP to handle bouncing e-mails?

1 curtida

Uma mensagem melhor seria boa nesse caso.

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?

Se estiver correto, haveria alguma maneira de esses detalhes serem enviados ao Discourse e registrados e exibidos no mesmo local que as rejeições recebidas pelo Discourse? Acho que a API do Mailgun permitiria isso ("Discourse::NotFound" error when click "Email Type" field on admin/email/bounced - #8 by Jonathan5).

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.)

3 curtidas

Concordo. Se algo não está realmente quebrado, não deve parecer quebrado. O Discourse certamente pode fornecer uma mensagem mais tranquilizadora.

3 curtidas