Discourse Invio Doppio Email

Ciao, sto usando Discourse self-hosted sul mio server. Attualmente sono sull’ultima build dev: Commits · discourse/discourse · GitHub

Sto notando che Discourse invia email 2 volte quando un utente si iscrive o riceve un messaggio privato, ecc.

Posso ricreare questo problema quando registro un nuovo utente. Non so come posso risolvere questo problema o qual è il problema esatto, o se questo potrebbe essere un problema del mio server di posta elettronica… Ho trovato alcuni argomenti simili ma risalgono a un paio d’anni fa, quindi volevo aprire un nuovo argomento.

Grazie per l’aiuto!

Vedi qualche informazione nei log delle email inviate del tuo sito relative a queste email? Nota che puoi utilizzare gli input in cima a quella pagina per filtrare le email per Utente, Indirizzo di destinazione o Tipo di email:

Se si tratta di un bug, sarebbe utile sapere esattamente per cosa vengono inviate le email duplicate.

Che tipo di email ricevi quando un utente si iscrive? Ti dice che ci sono utenti che richiedono l’approvazione?

Per le email relative ai messaggi privati, si tratta di messaggi che gli utenti ti hanno inviato?

2 Mi Piace

Ciao,

In quella pagina anche quando invia il doppio, viene visualizzato solo come uno.

Anche se è successa una cosa strana. Con il dominio protonmail.com non ha inviato un doppio, ma con anonaddy.com c’è una doppia email. Questo mi fa pensare che forse questo problema sia legato al server di posta e non a Discourse.

Anche se ricevo doppie email anche dal mio dominio/server di posta. Possiamo fidarci del fatto che se l’email non viene mostrata nella pagina inviati, allora è sicuro al 100% che Discourse non stia inviando doppie email?

Grazie.

Se esamini le intestazioni delle doppie email, dovresti essere in grado di capire dove si è verificato il problema.

Controlla in particolare le intestazioni received-by.

2 Mi Piace

Ok, a quanto pare entrambi provengono da Discourse, se ho capito bene:

Prima email:

Return-Path: <SRS0=ll8P=FH=anonaddy.com=b_na4w2nlvmv3gizdenmya_gq4wmodfhfrwm@Mail Server>
Delivered-To: Email Address
Received: from mail2.anonaddy.me (mail2.anonaddy.me [***.***.***.***])
	by Mail Server (Postfix) with ESMTPS id A9132370DA
	for Email Address; Sat, 23 Sep 2023 11:06:42 +0300 (+03)
Received: from mail2.anonaddy.me (mail2.anonaddy.me [127.0.0.1])
	by mail2.anonaddy.me (Postfix) with ESMTPS id 64958FA584
	for Email Address; Sat, 23 Sep 2023 09:06:41 +0100 (BST)
DKIM-Signature: [Truncated]
From: [Sender]
To: Email Address
Subject: =?utf-8?Q?=5BBilin=C3=A7li?= Teknoloji
 =?utf-8?Q?T=C3=BCketicileri=5D_Hesab=C4=B1n=C4=B1z=C4=B1_ona?=
 =?utf-8?Q?ylaman=C4=B1z_i=C3=A7in_an=C4=B1msat=C4=B1c=C4=B1?=
Feedback-ID: F:28f5e9fd-7ba5-4466-8b17-b52f087bd332:anonaddy
Message-ID: [Message ID]
Received: from Mail Server ([***.***.***.***]) by
 mail2.anonaddy.me (Postfix) with ESMTPS id 70F86100233 for
 Email Address; Sat, 23 Sep 2023 09:06:37 +0100 (BST)

Seconda email (uguale, duplicata, si può vedere che sono separate da pochi secondi):

Return-Path: <SRS0=mdkr=FH=anonaddy.com=b_payts6dtgn5dkodznftq_my3tgntdgvqwk@Mail Server>
Delivered-To: Email Address
Received: from mail2.anonaddy.me (mail2.anonaddy.me [***.***.***.***])
	by Mail Server (Postfix) with ESMTPS id D2066370DA
	for Email Address; Sat, 23 Sep 2023 11:06:54 +0300 (+03)
Received: from mail2.anonaddy.me (mail2.anonaddy.me [127.0.0.1])
	by mail2.anonaddy.me (Postfix) with ESMTPS id 68CBC107D41
	for Email Address; Sat, 23 Sep 2023 09:06:54 +0100 (BST)
DKIM-Signature: [Truncated]
From: [Sender]
To: Email Address
Subject: =?utf-8?Q?=5BBilin=C3=A7li?= Teknoloji
 =?utf-8?Q?T=C3=BCketicileri=5D_Hesab=C4=B1n=C4=B1z=C4=B1_ona?=
 =?utf-8?Q?ylaman=C4=B1z_i=C3=A7in_an=C4=B1msat=C4=B1c=C4=B1?=
Feedback-ID: F:28f5e9fd-7ba5-4466-8b17-b52f087bd332:anonaddy
Message-ID: [Message ID]
Received: from Mail Server ([***.***.***.***]) by
 mail2.anonaddy.me (Postfix) with ESMTPS id E34B6100233 for
 Email Address; Sat, 23 Sep 2023 09:06:51 +0100 (BST)
1 Mi Piace

questi sono i punti interessanti.

Il message-ID è lo stesso?

Verifica i log del Mail Server per scoprire se Discourse ha inviato un messaggio o due e qual è la cronologia dell’email che ha raggiunto i server di posta di anonaddy come 70F86100233 ed E34B6100233.

4 Mi Piace

Gli ID dei messaggi sono diversi.

Il primo è: Message-ID: \u003c6172c966-5777-44c2-988f-6acdd7ff33ff@btt.community\u003e
Il secondo è: Message-ID: \u003c70297dae-5cb7-467b-980d-ef6dcfeea220@btt.community\u003e

Ho controllato i log del mio server di posta in questo modo: cat mail.log | grep 70297dae

Output:

Sep 30 13:20:18 yuno postfix/cleanup[1559656]: 7C0F03D047: message-id=\u003c70297dae-5cb7-467b-980d-ef6dcfeea220@btt.community\u003e
Sep 30 13:20:38 yuno postfix/cleanup[1559656]: 88FE33D027: message-id=\u003c70297dae-5cb7-467b-980d-ef6dcfeea220@btt.community\u003e
Sep 30 13:20:44 yuno dovecot: lda(nonrelated@x.x.me)\u003c1559829\u003e\u003cm0KuF3z2F2UVzRcAMzq6nQ\u003e: sieve: msgid=\u003c70297dae-5cb7-467b-980d-ef6dcfeea220@btt.community\u003e: stored mail into mailbox 'INBOX'

Lo stesso con l’altro ID del messaggio: cat mail.log | grep 6172c966

Output:

Sep 30 13:20:43 yuno postfix/cleanup[1559799]: D3D4A3D059: message-id=\u003c6172c966-5777-44c2-988f-6acdd7ff33ff@btt.community\u003e
Sep 30 13:20:49 yuno postfix/cleanup[1559656]: EFEBC3D027: message-id=\u003c6172c966-5777-44c2-988f-6acdd7ff33ff@btt.community\u003e
Sep 30 13:20:49 yuno dovecot: lda(nonrelated@x.x.me)\u003c1559834\u003e\u003cZ0kBEIH2F2UazRcAMzq6nQ\u003e: sieve: msgid=\u003c6172c966-5777-44c2-988f-6acdd7ff33ff@btt.community\u003e: stored mail into mailbox 'INBOX'

Ma nel mio pannello di amministrazione sembra ancora che ne abbia inviato solo uno:
image

Ho già visto un problema simile con un server che eseguiva dovecot. C’era un problema dal lato di dovecot che causava la ridistribuzione.

Vediamo se riesco a trovare le informazioni.

Modifica: sto ancora cercando di trovare le informazioni. Ho dimenticato quanta quantità di dati dovrei cercare. :slight_smile:

4 Mi Piace

Immagino che Claudia non riesca a trovare quell’informazione. Qualsiasi altro suggerimento su come possiamo individuare e risolvere il problema sarebbe apprezzato perché sono all’oscuro. Grazie. :slight_smile:

Hai trovato una soluzione?

Una volta ho avuto a che fare con un comportamento simile. Gli utenti venivano sommersi di email, che il server di posta inviava ma che, secondo Discourse, non venivano inviate.

La mia ipotesi era che fosse possibile che Discourse affidasse un’attività al server di posta e che ci fosse un timeout durante il processo, il che causava questo comportamento, facendolo apparire come un fallimento per Discourse anche se l’email era stata inviata. L’attività fallita veniva quindi ripetuta, risultando in una nuova email.

Sono stato felice di risolvere questo problema eliminando le attività in Sidekiq, riavviando il server di posta e modificando le regole di fail2ban.