So funktioniert Discourse mit Postfix

Hallo. Ich habe eine Discourse-Installation ohne Docker auf meinem lokalen Server. Außerdem habe ich iRedMail installiert. Zuerst habe ich versucht, einen SMTP-Server von mail.ru zu nutzen. Testnachrichten wurden versendet, ebenso wie Einladungen. Doch keine E-Mail-Benachrichtigungen kamen an, und auch das Zurücksetzen des Passworts funktionierte nicht. Ich entschied mich, einen lokalen Mailserver zu installieren, um in den Logs zu prüfen, warum die Nachrichten nicht versendet werden. Das habe ich getan. Lokale Nachrichten werden zwischen den Postfächern ausgetauscht. Das sollte für einen lokalen Discourse und Mail-Server ausreichend sein. Ich habe meinen lokalen SMTP-Server konfiguriert. Eine Test-E-Mail wurde gesendet… und sie kam an! Sieger (nein). Ich habe mir /var/log/mail.log des Mail-Servers angesehen.


Okay. Jetzt sende ich eine Einladung an dasselbe Postfach… Ich schaue in die Logs des Mail-Servers… …und nichts. Die Datei ist leer. Ich weiß nicht, was das Problem ist.

Alles, was ich frage, ist eine Anleitung, wie ich Discourse mit Postfix kommunizieren lassen kann.

Derzeit habe ich ein aktives Admin-Konto, da ich es manuell aktiviert habe, weil – ratet mal – ich keine Bestätigungs-E-Mail erhalten habe. Auf Anfrage stelle ich gerne weitere Dateien wie Konfigurationen und Logs zur Verfügung.

Hallo @Anv,

willkommen bei Discourse Meta.

Normalerweise führen wir bei Problemen dieser Art einen Befehl wie diesen aus:

sendmail -vvv EINE_GÜLTIGE_E-MAIL-ADRESSE < email.txt

Dadurch erhalten Sie eine sehr ausführliche Ausgabe des Handshakes zwischen Ihnen und dem SMTP-Server. Diese ausführliche Protokollierung liefert in der Regel die Hinweise, um Ihr Problem zu lösen.

Hoffentlich hilft das weiter.

Hallo! Ich habe noch nicht viel Erfahrung. Ich habe zum ersten Mal Discourse und einen Mailserver installiert. Könntest du bitte genauer erklären, was genau ich tun muss? Vielen Dank.

Hallo @Anv,

Zuerst musst du Discourse vorübergehend „vergessen

Ich habe iRedMail mit diesem Link installiert.

Ohne Schritt 5 und 9.

Hey @Anv

Das ist definitiv eine fortgeschrittene Installation.

Hast du es ohne Discourse getestet und sichergestellt, dass es funktioniert?

Etwas in der Art:

sendmail -vvv A_VALID_EMAIL_ADDRESS < email.txt

?

Ich habe zwei Postfächer in meiner lokalen Domain „@ugda.space

@Anv Lass es mich klar sagen: Eine gute ungeschriebene Regel sollte lauten: „Fordere niemanden auf, mit dir zu sprechen, wenn du nicht bereit bist, dir anzuhören, was sie zu sagen haben.

Es tut mir leid. Aber ich glaube, ich habe nicht ganz verstanden, was von mir erwartet wurde. Habe ich alles richtig gemacht?

Hey @Anv,

ich verstehe deine Frustration; und es tut mir leid, dass ich nicht mehr Freizeit habe, um jedes Mal, wenn du antwortest, dein SMTP-Relay-Problem zu debuggen.

Es scheint, als würde dein SMTP-Mail-Host E-Mails empfangen; das bedeutet jedoch nicht unbedingt, dass er auch als SMTP-Relay funktioniert.

Ich erinnere mich vage daran, dass es eine Option gibt, mit sendmail und anderen Mail-Clients zu prüfen, ob der SMTP-Host ordnungsgemäß als Relay funktioniert. Du könntest dich über die Option sendmail -G informieren (oder nach einer anderen Testmethode suchen). Im Grunde musst du eine E-Mail an eine Test-E-Mail-Adresse senden, die sich von der des Hosts unterscheidet, auf dem du arbeitest, und dabei deinen neu eingerichteten SMTP-Host als Relay verwenden.

Ein bisschen Geschichte

Früher haben die meisten SMTP-Hosts E-Mails standardmäßig weitergeleitet; doch dann wurden alle SMTP-Hosts im Netz zu großen Spam-Boxen, da Spammer die Relay-Funktionalität ausnutzten (ohne dass der Besitzer der Box davon wusste) und die ganze Welt mit Spam überschwemmten.

Das Fazit ist: Du musst prüfen, ob dein neu eingerichteter SMTP-Host E-Mails für dich weiterleiten kann.

Hast du dein Einrichtungstutorial genau durchgesehen und geprüft, ob dort die Einrichtung des SMTP-Hosts als Relay erwähnt wird?

Ich denke hier nur laut nach und hoffe, dass dir das auf irgendeine kleine Weise hilft, den nächsten Schritt in deinem SMTP-Host-Projekt zu machen.

Okay, ich glaube, ich habe dich verstanden. Ich werde mal schauen, ob ich dazu Informationen finden kann.

Sie haben erwähnt, dass Sie Discourse ohne Docker installiert haben. Wäre es möglich, eine frische Installation auf die „klassische

[quote=“Mevo, Beitrag:12, Thema:160602”]
„klassischer

Hallo @Mevo und @Anv,

Guten Morgen.

Ich bin mir sicher, dass das nicht hilfreich ist, aber als „nur noch ein weiterer Datenpunkt

Hallo @neounix.

Auf jeden Fall vielen Dank für deine Hilfe dabei.

Mein Hauptproblem ist wohl, dass ich dies in einem LAN ohne Zugriff von einem externen Netzwerk ausführen möchte.

Discourse-Protokoll beim Senden von Einladungen

Das Protokoll besagt, dass es einen Brief mit einer ID gibt.
Ich habe versucht, eine Erwähnung dieser ID zu finden.
1 ID - Testnachricht.
2 ID - Einladung

image

Nach einigen Versuchen und Fehlern habe ich es geschafft, Discourse mit Postfix zum Laufen zu bringen. Hier sind die Schritte, die ich verwendet habe – ich hoffe, sie sind hilfreich:

  1. Richten Sie einen A-Eintrag ein, der auf Ihren neuen Server zeigt, z. B. forum.domain.com.

  2. Installieren Sie Postfix, setzen Sie forum.domain.com als myhostname und fügen Sie 172.17.0.0/16 zu mynetworks hinzu, damit der Discourse-Container ohne Authentifizierung mit Postfix kommunizieren kann. 172.17.0.0/16 ist das Standardnetzwerk, das von Docker-Containern verwendet wird.

  3. Stellen Sie sicher, dass Postfix E-Mails versenden kann. Ich bevorzuge die Verwendung von swaks.

    swaks -t your_name@gmail.com
    

    Sie sollten eine E-Mail mit dem Betreff „This is a test mailing" erhalten.

  4. In containers/app.yml stellen Sie sicher, dass die drei Zeilen für DISCOURSE_SMTP_USER_NAME, DISCOURSE_SMTP_PASSWORD und DISCOURSE_SMTP_ENABLE_START_TLS auskommentiert sind.

    Setzen Sie DISCOURSE_SMTP_DOMAIN auf forum.domain.com (ersetzen Sie dies hier durch Ihre eigene Domain).

  5. Zum Testen können Sie eine Verbindung zum Discourse-Container herstellen, indem Sie docker exec -it app bash ausführen und dann folgenden Befehl eingeben:

    apt update
    apt install -y swaks
    swaks -t name@gmail.com --server forum.domain.com
    

    Sie sollten erneut eine E-Mail mit dem Betreff „This is a test mailing" erhalten.

  6. Starten Sie Discourse neu mit ./launcher rebuild app. Sie sollten nun in der Lage sein, neue Konten zu erstellen und Bestätigungs-E-Mails zu erhalten.