SMTPAuthenticationError von Discourse-Doctor bei Neuinstallation

Ich habe gerade eine Neuinstallation von Discourse in einem DigitalOcean Droplet vorgenommen, und es hat ziemlich gut funktioniert, aber ich habe die Benachrichtigungs-E-Mail nicht erhalten, als ich versucht habe, mein Admin-Konto zu registrieren.

Ich habe die Fehlerbehebung E-Mail durchgesehen und keine Lösung gefunden, bis ich zu einem der Kommentare gelangte, der besagte:

Die doppelten Anführungszeichen funktionieren. Wenn Sie bestimmte Zeichen (wie Backslash?) in Ihrem Passwort haben, müssen Sie die Datei mit einem Editor wie nano bearbeiten.

Das und der Hinweis in /containers/app.yml über das “#”-Zeichen, das Probleme verursacht, ließen mich über mein Passwort nachdenken. Es enthielt sowohl einen Unterstrich als auch eine Tilde.

Ich habe ein neues E-Mail-Konto mit nur alphanumerischen Zeichen für das Passwort erstellt, und das hat das Problem behoben. E-Mail funktioniert jetzt in ./discourse-doctor, und ich konnte die Benachrichtigungs-E-Mail erneut senden und empfangen.

Ich dachte, es wäre eine gute Idee, dies zu teilen, falls jemand anderes Schwierigkeiten mit der SMTPAuthenticationError ohne ersichtlichen Grund hat. Versuchen Sie es mit einem Konto ohne Sonderzeichen im Passwort. :grinning:

3 „Gefällt mir“

Ich habe ein Passwort mit - darin und hatte nie die Probleme, die Sie hatten.

# ergibt Sinn, da dies Code in yml-Dateien auskommentiert, von überall in der Zeile: Kommentare beginnen mit dem Rautenzeichen (#), können irgendwo in einer Zeile beginnen und dauern bis zum Ende der Zeile (YAML - Wikipedia).

1 „Gefällt mir“

@MarcP:

Interessant. Wenn ich hätte raten müssen, da das SMTP-Passwort in der app.yml-Datei in doppelten Anführungszeichen steht, hätte ich vermutet, dass jedes Zeichen außer einem doppelten Anführungszeichen in Ordnung gewesen wäre. Sie bringen mich ins Grübeln, ob es etwas anderes ist, das ich getan habe.

Ich werde weitere Tests damit durchführen und die Ergebnisse posten.

1 „Gefällt mir“

Das ist, was ich davon habe, dass ich es eilig hatte.

Ich habe DISCOURSE_SMTP_USER_NAME und DISCOURSE_SMTP_PASSWORD auf das ursprüngliche Konto zurückgesetzt, das mir den SMTP-Authentifizierungsfehler verursacht hat, und nachdem ich die App zerstört hatte, erhielt ich beim Ausführen von ./launcher start app den folgenden Fehler:

found unknown escape character while parsing a quoted scalar at line 67 column 28 -e LANG=en_US.UTF-8
YAML syntax error. Please check your containers/*.yml config files.

Wie erwartet, gab es in dem Passwort ein \ , das ich gestern nicht bemerkt hatte.

Zur Bestätigung habe ich die E-Mail-Adresse des neuen Kontos verwendet, das Passwort des Kontos auf das Passwort des fehlerhaften Kontos ohne das \ geändert, es in der app.yml gespeichert und die App neu gestartet, ohne dass die Fehlermeldung erneut auftrat. Der E-Mail-Test mit discourse-doctor funktionierte. Dann habe ich ein neues Passwort mit einer Reihe von Sonderzeichen, aber ohne # oder \, erstellt und den Test wiederholt. Es funktionierte auch.

Zusammenfassend lässt sich sagen, dass Sonderzeichen im Feld DISCOURSE_SMTP_PASSWORD der app.yml in Ordnung zu sein scheinen, mit Ausnahme des Rautenzeichens #, des Backslash \ und wahrscheinlich des doppelten Anführungszeichens \"?

2 „Gefällt mir“

:+1: Ich mag es, Ausgezeichnet :sunglasses: