Discourse sendet doppelte E-Mails

Hallo, ich verwende selbst gehostetes Discourse auf meinem Server. Ich bin auf dem neuesten Entwicklungs-Build von jetzt: Commits · discourse/discourse · GitHub

Ich stelle fest, dass Discourse E-Mails zweimal sendet, wenn sich ein Benutzer anmeldet oder eine private Nachricht erhält usw.

Ich kann dies reproduzieren, wenn ich einen neuen Benutzer anmelde. Ich weiß nicht, wie ich das beheben kann oder was das genaue Problem ist oder ob es sich um ein Problem meines E-Mail-Servers handeln könnte … Ich habe einige ähnliche Themen gefunden, aber sie sind ein paar Jahre alt, daher wollte ich ein neues Thema eröffnen.

Vielen Dank für Ihre Hilfe!

Sehen Sie in den Protokollen der gesendeten E-Mails Ihrer Website Informationen zu diesen E-Mails? Beachten Sie, dass Sie die Eingaben oben auf dieser Seite verwenden können, um E-Mails nach Benutzer, E-Mail-Adresse oder E-Mail-Typ zu filtern:

Wenn dies ein Fehler ist, wäre es gut zu wissen, wofür genau die doppelten E-Mails gesendet werden.

Welche Art von E-Mail erhalten Sie, wenn sich ein Benutzer anmeldet? Wird Ihnen mitgeteilt, dass Benutzer genehmigt werden müssen?

Handelt es sich bei den E-Mails bezüglich privater Nachrichten um Nachrichten, die Benutzer an Sie gesendet haben?

2 „Gefällt mir“

Hallo,

Auf dieser Seite wird selbst dann, wenn es doppelt gesendet wird, nur eines angezeigt.

Obwohl etwas Seltsames passierte. Mit der Domain protonmail.com wurde nicht doppelt gesendet, aber mit anonaddy.com gibt es eine doppelte E-Mail. Das lässt mich vermuten, dass dieses Problem möglicherweise mit dem Mailserver und nicht mit Discourse zusammenhängt.

Obwohl ich auch von meiner eigenen Domain/meinem Mailserver doppelte E-Mails erhalte. Können wir darauf vertrauen, dass die E-Mail nicht auf der gesendeten Seite angezeigt wird, dann ist es zu 100 % sicher, dass Discourse keine doppelte E-Mail sendet?

Danke.

Wenn Sie sich die Header der doppelten E-Mails ansehen, sollten Sie erkennen können, wo das Problem aufgetreten ist.

Überprüfen Sie insbesondere die „received-by“-Header.

2 „Gefällt mir“

Okay, soweit ich das richtig verstanden habe, kommen beide von Discourse:

Erste E-Mail:

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)

Zweite E-Mail (dieselbe, doppelt, man sieht, dass sie nur Sekunden auseinander liegen):

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 „Gefällt mir“

Das sind die interessanten Teile.

Ist die Message-ID dieselbe?

Überprüfen Sie als Nächstes die Protokolle des Mail Servers, um herauszufinden, ob Discourse eine oder zwei Nachrichten gesendet hat und wie die Historie für die E-Mail lautet, die die Mail-Server von anonaddy als 70F86100233 und E34B6100233 erreicht hat.

4 „Gefällt mir“

Die Message-IDs sind unterschiedlich.

Die erste ist: Message-ID: <6172c966-5777-44c2-988f-6acdd7ff33ff@btt.community>
Die zweite ist: Message-ID: <70297dae-5cb7-467b-980d-ef6dcfeea220@btt.community>

Ich habe meine Mailserver-Logs wie folgt überprüft: cat mail.log | grep 70297dae

Ausgabe:

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

Dasselbe mit einer anderen Message-ID: cat mail.log | grep 6172c966

Ausgabe:

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

Aber in meinem Admin-Panel sieht es immer noch so aus, als hätte ich nur eine gesendet:
image

Ich habe ein ähnliches Problem schon einmal bei einem Server mit dovecot gesehen. Es gab ein Problem auf der dovecot-Seite, das die erneute Zustellung verursachte.

Lassen Sie mich sehen, ob ich die Informationen finden kann.

Bearbeiten: Ich versuche immer noch, die Informationen zu finden. Ich habe vergessen, wie viele Daten ich durchsuchen würde. :slight_smile:

4 „Gefällt mir“

Ich vermute, Claudia kann diese Informationen nicht finden. Jeder andere Vorschlag, wie wir das Problem eingrenzen und beheben können, wäre willkommen, da ich ratlos bin. Danke. :slight_smile:

Hast du eine Lösung gefunden?

Ich hatte einmal mit einem ähnlichen Verhalten zu kämpfen. Benutzer wurden mit E-Mails bombardiert, die der Mailserver zwar sendete, die aber aus Discoures Sicht nicht gesendet wurden.

Meine Hypothese war, dass Discourse dem Mailserver einen Job gibt und es während des Prozesses zu einem Timeout kommt, was dazu führt, dass es für Discourse wie ein Fehlschlag aussieht, obwohl die E-Mail gesendet wurde. Der fehlgeschlagene Job wird dann wiederholt und führt zu einer neuen E-Mail.

Ich konnte dies lösen, indem ich Jobs in Sidekiq beendete, den Mailserver neu startete und mit fail2ban-Regeln herumspielte.