Erreur "Discourse::NotFound" lors du clic sur le champ "Email Type" dans 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 « J'aime »

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 « J'aime »

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 « J'aime »

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 « J'aime »

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

3 « J'aime »

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 « J'aime »

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 « J'aime »

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 « J'aime »

Du travail a-t-il été fait à ce sujet ? Je vous serais très reconnaissant si c’était le cas :slight_smile:

J’utilise Digital Ocean et Mailgun (c’est-à-dire les principales recommandations), donc j’imagine que je ne suis pas le seul à avoir ce problème.

3 « J'aime »

Après mes propres tests, il semble que dans de nombreux cas, les rebonds ne soient pas du tout reçus par le destinataire du courrier. (Je n’ai trouvé qu’une tentative de connexion pour un seul, qui a été rapidement perdue). Je ne vois pas du tout l’en-tête Return-Path être défini (est-ce qu’il est censé l’être ?) ce qui me fait penser qu’ils ne sont même pas renvoyés la plupart du temps.

2 « J'aime »

Toujours un problème ici aussi. Malgré ma déclaration précédente, il semble maintenant qu’aucun de ces liens ne fonctionne, depuis le démarrage du site. Initialement, cela ne semblait affecter que les rejets antérieurs à notre prise en charge correcte des rejets (Configure VERP to handle bouncing e-mails).

3 « J'aime »

Je viens de remarquer des piles d’avertissements dans le journal d’erreurs qui ressemblent à ceci :

Impossible de traiter l'e-mail : Email::Receiver::AutoGeneratedEmailError

Reçu : de ...
	pour <bounce+f7e463.5f70e9-...@forum.example.com> ; ...
Objet : Votre message n'a pas pu être délivré

C’est peut-être la raison pour laquelle Discourse n’a aucun détail sur les e-mails rejetés.

Je ne vois pas ces erreurs dans les journaux, mais le problème persiste. Lorsque je clique sur la valeur du type d’e-mail dans la liste des e-mails rejetés, j’obtiens « Une erreur s’est produite : Discourse::NotFound ».

Et si vous cochez « Avertissement » ?

C’était déjà sélectionné. Je suis retourné un peu plus loin dans le journal, et bien que je voie des messages occasionnels liés aux e-mails, je ne vois pas ceux que vous avez mentionnés.

J’ai le même problème avec Mailgun. Hôte différent, donc ce n’est pas ça !

Je me demande s’il y a un problème avec les instructions de configuration de Mailgun pour la configuration VERP :

2 « J'aime »

Cela fait un petit moment que c’est là, mais cela ne commence que maintenant à causer des problèmes alors que j’essaie de comprendre pourquoi je reçois autant de rejets actuellement.

Le problème semble être qu’il n’y a pas de lien dans la colonne Email Type et rien derrière l’icône :information_source: (flèches rouges) :

Lorsque je clique dessus, j’obtiens ceci :

En examinant le code de la page, les balises <a> en HTML semblent manquer complètement le href :

J’ai configuré VERP pour Mailgun, et cela semble fonctionner correctement par ailleurs.

1 « J'aime »

C’est le comportement attendu lorsque la réponse de rebond n’a pas été traitée par Discourse. La fonctionnalité fonctionne correctement si Discourse reçoit les rebonds, sinon elle affichera cette réponse pour tous les rebonds.

Pouvez-vous vérifier et exécuter le test conformément à Configure VERP to handle bouncing e-mails ?

1 « J'aime »

Un meilleur message serait bien dans ce cas.

Je pense que vous voulez dire que si Discourse ne découvre le rebond que via un webhook Mailgun, les détails du rebond ne sont jamais envoyés à Discourse. Est-ce exact ?

Si c’est le cas, y aurait-il un moyen d’envoyer ces détails à Discourse et de les enregistrer et d’afficher au même endroit que les rebonds reçus par Discourse ? Je pense que l’API Mailgun le permettrait ("Discourse::NotFound" error when click "Email Type" field on admin/email/bounced - #8 by Jonathan5).

Dans quelles circonstances Discourse gèrerait-il les rebonds plutôt que le service de messagerie externe ? (Je sais que Discourse peut rejeter/refuser des e-mails, mais je parle de la gestion des messages de rebond reçus des destinataires prévus.)

3 « J'aime »

D’accord. Si quelque chose n’est pas réellement cassé, il ne devrait pas paraître cassé. Discourse peut sûrement fournir un message plus rassurant.

3 « J'aime »