E-Mail funktioniert nicht; Net::SMTPAuthenticationError

Ich hoste den Discourse-Server auf DigitalOcean, Domain von PorkBun, Mailserver mit MailGun.

Mein MailGun-Konto ist aktiviert und die Domain (discourse.mydomain.com) ist für die Verwendung mit mg.mydomain.com verifiziert. Alle DNS TXT-Einträge sind vorhanden.

Ich habe jeden einzelnen Schritt zur Fehlerbehebung in diesem Thread mehrmals durchgeführt; Troubleshoot email on a new Discourse install

Ich kann telnet auf dem Host eingeben und E-Mails manuell ohne Probleme senden (https://serverfault.com/questions/49935/easiest-way-to-send-a-test-email-from-a-server-to-test-settings)

Die app.yml enthält Folgendes:

  DISCOURSE_DEVELOPER_EMAILS: 'myemail@gmail.com'
  DISCOURSE_SMTP_ADDRESS: smtp.mailgun.org
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: mail
  DISCOURSE_SMTP_PASSWORD: "12345678901234567890"
  DISCOURSE_SMTP_DOMAIN: mg.mydomain.com
  DISCOURSE_NOTIFICATION_EMAIL: admin@mg.mydomain.com

Wenn ich versuche, discourse-doctor auszuführen oder ./launcher enter app ausführe und dann rake 'emails:test[mail@mg.mydomain.com]' ausführe, erhalte ich folgende Fehlermeldung:

======================================== ERROR ========================================
                                    UNEXPECTED ERROR

Net::SMTPAuthenticationError

====================================== SOLUTION =======================================
This is not a common error. No recommended solution exists!

Please report the exact error message above to https://meta.discourse.org/
(And a solution, if you find one!)
=======================================================================================

Etwas ist bei Discourse kaputt, da ich keine Probleme habe, die E-Mail manuell zu senden. Ich habe stundenlang Google und die Foren hier durchsucht, bisher ohne Lösung. Irgendwelche Ideen?

Mit Ihrem Benutzernamen/Passwort stimmt etwas nicht. Möglicherweise enthält Ihr Passwort ein Zeichen, das maskiert werden muss, wie z. B. ein Sternchen oder ein einzelnes Anführungszeichen (daher ist es am einfachsten, das Passwort so zu ändern, dass es dieses Zeichen nicht enthält).

Siehe Fehlerbehebung bei E-Mails bei einer neuen Discourse-Installation

2 „Gefällt mir“

Das Passwort enthält keine dieser Zeichen. Tatsächlich ist es das automatisch generierte Passwort von MailGun und enthält nur Buchstaben und Zahlen sowie einige ‘-’ Zeichen. Es ist ziemlich lang.

Das war meine beste Vermutung. Ich würde versuchen, ein neues Passwort zu generieren und/oder es erneut zu kopieren und einzufügen. Die Wahrscheinlichkeit, dass dies ein Fehler in Discourse ist, ist extrem gering.

1 „Gefällt mir“

Ich wette, DISCOURSE_SMTP_USER_NAME ist falsch – mail reicht wahrscheinlich nicht aus, damit Mailgun Sie authentifiziert. Es sollte wahrscheinlich mail@mg.mydomain.com sein.

Ich vermute, Sie denken, DISCOURSE_SMTP_DOMAIN sei die Domain des Benutzers? Das ist es nicht – es ist die EHLO-Domain. Sie müssen sie höchstwahrscheinlich nicht festlegen.

1 „Gefällt mir“

Mir ist das gerade auch aufgefallen, als ich mit telnet getestet habe, habe ich “mail@mg.mydomain.com” als Benutzernamen verwendet und es hat funktioniert, also werde ich es mit diesem als DISCOURSE_SMTP_USER_NAME erneut versuchen.

Ich vermute, Sie denken, DISCOURSE_SMTP_DOMAIN sei die Domain des Benutzers? Das ist es nicht – es ist die EHLO-Domain. Sie müssen sie wahrscheinlich nicht festlegen.

Ich bin mir nicht sicher, was das bedeutet.

Für MailGun habe ich mg.mydomain.com verwendet, für Discourse habe ich discourse.mydomain.com verwendet. Ich habe derzeit keine DNS-Einträge für mydomain.com, nur für die Discourse-Subdomain und die TXT-Einträge für die MailGun-DNS.

Entfernen Sie die Zeile für DISCOURSE_SMTP_DOMAIN, Sie brauchen sie mit ziemlicher Sicherheit nicht.

Sie wird während der SMTP-Aushandlung als HELO/EHLO-Domäne verwendet.

1 „Gefällt mir“

Ja, und als ich mit Telnet getestet habe, konnte ich tatsächlich E-Mails von allen folgenden Adressen senden:

  • mail@discourse.mydomain.com
  • mail@mydomain.com
  • mail@mg.mydomain.com

Ich bin mir nicht sicher, welche ich tatsächlich verwenden soll? Spielt das eine Rolle?

Das hängt von Ihrer Einrichtung und davon ab, wie Ihr E-Mail-Fluss aussehen soll.

1 „Gefällt mir“

Es funktioniert jetzt, danke an alle für die Hilfe :slight_smile:

Die Lösung war, Folgendes zu verwenden:

  DISCOURSE_SMTP_USER_NAME: mail@mg.mydomain.com

anstelle von

  DISCOURSE_SMTP_USER_NAME: mail
2 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.