Test-E-Mail-Einrichtung vor Beginn der Installation

Das discourse-doctor-Tool kann eine Test-E-Mail senden. Dies sollte auch dem discourse-setup-Tool hinzugefügt werden. Führen Sie einen schnellen E-Mail-Test durch, um zu überprüfen, ob die vom Benutzer eingegebenen SMTP-Daten funktionieren, BEVOR der gesamte Software-Stack eingerichtet wird. Wie in den Hinweisen angegeben, ist es funktionsunfähig, wenn die E-Mail nicht richtig eingerichtet ist.

Dies könnte viel Zeit sparen, wenn die Person, die die Installation durchführt, auch nur ein einziges Datenelement falsch eingegeben hat.

Hmm. Es scheint möglich zu sein, einen halbwegs einfachen SMTP-Test auf diese Weise durchzuführen:

echo Hello world > /tmp/mail.txt
curl -v  smtp://$DISCOURSE_SMTP_ADDRESS:$DISCOURSE_SMTP_PORT  \
  --mail-from noreply@$DISCOURSE_HOSTNAME \
  --mail-rcpt $(echo $DISCOURSE_DEVELOPER_EMAILS | cut -d ',' -f 1) \
  --user $DISCOURSE_SMTP_USER_NAME:"$DISCOURSE_SMTP_PASSWORD" \
  --upload-file /tmp/mail.txt

Es sollte also möglich sein, einen solchen Test durchzuführen. Meine Sorge ist, dass er eine Menge falsch positiver und falsch negativer Ergebnisse liefern würde, aber vielleicht könnte das Drucken einer Warnung, wenn er fehlschlägt, einigen Leuten helfen.

Vielleicht wäre eine bessere Idee ein weiteres Skript (discourse-mail-check?), das einen schnellen und unsauberen Test wie diesen durchführt, wenn Sie Probleme haben.

Ich hoffte nur, den Test direkt nach der Eingabe der SMTP-Details durch den Benutzer durchzuführen. Dann wird eine Test-E-Mail an eine vom Benutzer angegebene Adresse gesendet, und der Benutzer wird gefragt, ob er die E-Mail erhalten hat. Wenn ja, wird die Installation fortgesetzt. Wenn nicht, kann er den Test wiederholen oder die SMTP-Konfiguration ändern und es erneut versuchen.

2 „Gefällt mir“

wie in meinem Beitrag hier Install Discourse on Amazon Web Services (AWS) with Lightsail, SES, and Route 53 - #4 by wal beschrieben, konnte ich Test-E-Mails senden, bevor ich das vollständige discourse-setup-Skript mit dieser hier beschriebenen Methode mit telnet ausgeführt habe

bemerkenswerterweise habe ich Port 587 anstelle von 25 verwendet, wie dort gezeigt, und Sie müssen sicherstellen, dass Sie Ihren SMTP-Benutzernamen und Ihr Passwort base64-kodieren.

In diesem Beitrag ist auch ein Skript verlinkt, das AWS bereitstellt und zeigt, wie dasselbe mit dem openssl-Befehl gemacht wird (Link hier; Creating configuration sets in SES - Amazon Simple Email Service )

Wenn Sie AWS SES nicht für Ihren E-Mail-Server verwenden, müssen Sie das Skript möglicherweise ein wenig anpassen, aber im Allgemeinen denke ich, dass eines oder beide dieser Skripte hilfreich sein sollten, um E-Mails vor der Installation zu überprüfen (das ist es, was ich getan habe)

Obwohl ich zustimme, dass es idealerweise eine Möglichkeit geben sollte, die E-Mail vor der Installation zu testen, denke ich, dass es tatsächlich vorzuziehen wäre, sie als separates eigenständiges Skript mit Discourse zu versenden, damit Sie es ausführen können, ohne den gesamten Einrichtungsprozess durchlaufen zu müssen, der ~10 Minuten dauern kann.

1 „Gefällt mir“