Bonjour, je constate un échec intermittent de traitement des e-mails entrants sur un site auto-hébergé utilisant mail-receiver.
Ce qui s’est passé
Deux e-mails entrants distincts :
- ont été livrés à l’adresse Discourse correcte
- apparaissent dans
/admin/email/received - apparaissent également dans
/admin/email/rejected - affichent le texte de rejet générique : « Une erreur non reconnue s’est produite lors du traitement de votre e-mail et il n’a pas été publié. »
Vers la même période, les journaux ont indiqué ActiveRecord::Deadlocked.
Pourquoi je pense qu’il pourrait s’agir d’un bug
J’ai comparé les e-mails rejetés avec un e-mail réussi ultérieur de format très similaire :
- même modèle d’expéditeur
- même chemin Microsoft / Power Automate
- même forme visible du champ
To: - même destinataire SMTP de l’enveloppe vers l’adresse Discourse
Cela ne ressemble donc pas à un simple problème de configuration avec mail-receiver.
Preuves
Pour les deux e-mails rejetés :
- il s’agissait de livraisons distinctes avec des
Message-IDdifférents - ils avaient des identifiants de file d’attente Postfix différents
- tous deux ont été livrés
for <ppyem3.accomodation@discourse.domain.com>
J’ai également observé ActiveRecord::Deadlocked dans les journaux à la même période.
Contexte d’hébergement
- auto-hébergé
- utilisation de
mail-receiver - petit VPS IONOS
- 1 worker web configuré
Je réalise que le 1 worker web peut ne constituer qu’un contexte d’arrière-plan plutôt que la cause, puisque cela semble concerner le traitement des e-mails entrants/en arrière-plan plutôt que la gestion des requêtes web.
Si utile, je peux fournir :
- les en-têtes masqués des 2 e-mails rejetés
- les en-têtes masqués d’un e-mail comparable réussi
- l’entrée de journal du blocage