Olá, estou observando uma falha intermitente no processamento de e-mails recebidos em um site auto-hospedado usando mail-receiver.
O que aconteceu
Dois e-mails recebidos distintos:
- foram entregues ao endereço Discourse correto
- aparecem em
/admin/email/received - também aparecem em
/admin/email/rejected - exibem o texto genérico de rejeição: “Houve um erro não reconhecido ao processar seu e-mail e ele não foi publicado.”
Por volta da mesma época, os logs mostraram ActiveRecord::Deadlocked.
Por que acredito que isso possa ser um bug
Comparei os e-mails rejeitados com um e-mail bem-sucedido posterior de formato muito similar:
- mesmo padrão de remetente
- mesmo caminho Microsoft / Power Automate
- mesmo formato visível de
To: - mesmo destinatário do envelope SMTP para o endereço Discourse
Portanto, isso não parece ser um simples problema de configuração com mail-receiver.
Evidências
Para ambos os e-mails rejeitados:
- foram entregas separadas com
Message-IDs diferentes - tinham IDs de fila Postfix diferentes
- ambos foram entregues
for <ppyem3.accomodation@discourse.domain.com>
Também observei ActiveRecord::Deadlocked nos logs durante o mesmo período.
Contexto de hospedagem
- auto-hospedado
- usando
mail-receiver - pequeno VPS IONOS
- 1 worker web configurado
Percebo que o 1 worker web pode ser apenas contexto de fundo, e não a causa, já que isso parece ser processamento de e-mail recebido/em segundo plano e não tratamento de solicitações web.
Se for útil, posso fornecer:
- cabeçalhos anonimizados dos 2 e-mails rejeitados
- cabeçalhos anonimizados de um e-mail comparável bem-sucedido
- a entrada de log do deadlock