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.
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.
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.
@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.
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.
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
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:
Richten Sie einen A-Eintrag ein, der auf Ihren neuen Server zeigt, z. B. forum.domain.com.
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.
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.
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).
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: