Gibt es Zeichen, die im SMTP-Passwort vermieden werden sollten? Wenn ja, könnte die Dokumentation dies erwähnen.
Mein ursprüngliches Passwort funktionierte nicht und führte zu einem Fehler. Ich habe das Passwort geändert (durch Bearbeiten von app.yml) und dann die App neu erstellt. Danach konnte ich die E-Mail „Bestätigen Sie Ihr neues Konto“ empfangen.
Das verdächtige Zeichen in der ursprünglichen E-Mail war: ]
Für das neue Passwort habe ich es von Mailgun generieren lassen.
Sonderzeichen wie ] sollten wahrscheinlich am besten vermieden werden. Aber angesichts von Jays Antwort oben hätte ich gedacht, es würde funktionieren, genauso wie die Einbeziehung von % funktioniert.
Hattest du vielleicht Anführungszeichen in deinem Passwort? Ich denke, \" ist eines, das unmöglich zu verwenden ist, da es das Passwort umschließt, es sei denn, du bearbeitest app.yml, um einen Escape \\ hinzuzufügen.
Wenn das nicht die Antwort ist, dann müssen wir wahrscheinlich dieses Dokumentationsthema aktualisieren, um anzugeben, welche Sonderzeichen vermieden werden sollten! Oder den Installer aktualisieren, um eine Warnung hinzuzufügen?
Ohne genauer hinzusehen, würde ich sagen, ändern Sie das Passwort so, dass es keine seltsamen Zeichen enthält, oder bearbeiten Sie app.yml von Hand und setzen Sie das Passwort in einfache Anführungszeichen. discourse-setup ist ein ziemlich grobes Werkzeug, das nicht für alle Situationen ausgelegt ist.
Ich habe die OP aktualisiert, um ausdrücklich darauf hinzuweisen, dass das Passwort keine Sonderzeichen enthalten darf. Ist das ungefähr richtig?
Lassen Sie uns daran arbeiten, alle anderen Ratschläge in den Leitfaden aufzunehmen und all diese Antworten zu löschen. Wenn ich durchscrolle, bin ich mir bei vielen davon nicht sicher. Zum Beispiel schlägt die allererste Antwort vor, dass nach der Aktualisierung der SMTP-Einstellungen ein Rebuild erforderlich war, was dem Leitfaden widerspricht.
Bei der Konfiguration von SMTP mit einem externen Anbieter (ich habe SendGrid verwendet) habe ich keine Registrierungs-E-Mails erhalten. Die Ausführung von discourse-doctor identifizierte den Fehler: Reason: 550 The from address does not match a verified Sender Identity.
Obwohl ich die Top-Level-Domain (example.com) für den Versand in SendGrid authentifiziert hatte, hatte ich die Subdomain von Discourse (discourse.example.com) noch nicht authentifiziert, und so lehnte SendGrid die API-Aufrufe ab.
Obwohl ich nur etwa 15 Minuten gebraucht habe, um das herauszufinden, halte ich es für hilfreich, einen zusätzlichen Kommentar in app.yml und im Installationsskript hinzuzufügen, der dies für neue Benutzer, die Discourse in Zukunft installieren, klarer macht, um Reibungsverluste zu reduzieren. Auch ein direkter Verweis auf die Fehlerbehebungsseite wäre hilfreich.
Etwas wie:
# Die meisten SMTP-Anbieter verlangen eine authentifizierte Domain oder eine authentifizierte E-Mail-Adresse, um E-Mails zu versenden. Bitte stellen Sie sicher, dass Sie Ihre sendende Domain
# (example.com), Subdomain (discourse.example.com) und die E-Mail-Adresse `notifications` bei Ihrem SMTP-Anbieter authentifiziert haben, bevor Sie neue Benutzer registrieren, um die Zustellbarkeit von E-Mails sicherzustellen.
#
# Der Befehl `discourse-doctor` kann bei der Überprüfung Ihrer E-Mail-Konfiguration helfen.
# Siehe: https://meta.discourse.org/t/troubleshoot-email-on-a-new-discourse-install
Warum funktioniert der E-Mail-Port 587 nicht für Mailgun, aber Port 2525 funktioniert? Ich habe den Port in app.yml auf 2525 geändert, aber es funktioniert immer noch nicht?
Nur zur Information: Ab März/April 2025 blockiert DigitalOcean standardmäßig SMTP-Ports auf allen Droplets. Sie können die Einschränkung aufheben, wenn Sie ein Support-Ticket einreichen, aber es scheint von Fall zu Fall entschieden zu werden:
Hoffentlich erspart dies anderen, verrückt zu werden und sich zu fragen, warum ihre E-Mails nicht gesendet wurden, obwohl alles korrekt konfiguriert zu sein schien!