Überarbeitung der E-Mails: Test-Rake-Task-Ausgabe

Ich habe kürzlich die E-Mails: Aufgabe und den zugehörigen Code durchgesehen, um jeden der Fehlerpfade zu testen und den Fehlertext zu überarbeiten.

Ich habe auch festgestellt, dass die Auswirkungen des Setzens von DISCOURSE_SMTP_ENABLE_STARTTLS=false (größtenteils) null sind. Das Setzen hat STARTTLS nicht tatsächlich deaktiviert und tatsächlich kann es problemlos mit TLS zur Verbindungszeit koexistieren (DISCOURSE_SMTP_FORCE_TLS=true).

Daher habe ich:

Bevor ich dies jedoch zusammenführe, halte ich eine Admin-Warnung im Dashboard für geeignet, wenn DISCOURSE_SMTP_ENABLE_STARTTLS=false gesetzt wird. Ich stelle mir vor, dass es mindestens einen Self-Host-Betreiber gibt, der dies gesetzt hat, es aber nicht benötigt und tatsächlich auf STARTTLS angewiesen ist.

4 „Gefällt mir“

Das klingt nach guter Arbeit! Eine Sache, die mir (glaube ich) aufgefallen ist, ist, dass die Rake-Aufgabe nicht denselben Code wie der eigentliche Versand verwendet (wie von der Testseite /admin/email). Ich bin mir ziemlich sicher, dass ich einen Fall hatte, in dem es im UX funktionierte, aber nicht in der Rake-Aufgabe (oder war es vielleicht umgekehrt?)

Solange es Ihnen noch frisch im Gedächtnis ist, wäre es großartig, wenn Sie sicherstellen könnten, dass es beim tatsächlichen Versand denselben Code verwendet, den Discourse verwendet.

2 „Gefällt mir“

Wir arbeiten auch daran und daran, das Logging zu verbessern, wenn ein E-Mail-Job in der Warteschlange fehlschlägt. :+1:

4 „Gefällt mir“

Muss ich auf dem von Ihnen gehosteten Forum etwas tun?

4 „Gefällt mir“

Nein, diese Benachrichtigung sollte nicht auf unserem Hosting angezeigt werden. Wir werden das beheben, danke wie immer für den Bericht.

5 „Gefällt mir“

@supermathie, ist es das wert, jeden Admin auf jeder Website, auf der diese Variable gesetzt ist, per PM zu kontaktieren? Unser aktuelles System zur Überprüfung von Problemen wird das tun, und ich bin mir nicht sicher, ob es hier gerechtfertigt ist, da dies größtenteils eine nil-Wirkung hat. Idealerweise möchte ich dies nur im Dashboard anzeigen, ohne Admin-Benutzer zu benachrichtigen. Ich bin mir nicht sicher, ob unsere aktuelle Struktur zur Überprüfung von Problemen diesen Anwendungsfall unterstützt.

Ich denke schon – ich halte es für extrem wahrscheinlich, dass angesichts der Verwirrung vieler Administratoren bei der E-Mail-Einrichtung jemand diese Variable gesetzt hat, obwohl er tatsächlich von starttls abhängig ist.

Wahrscheinlich sollte niemand sie gesetzt haben.

Ich hätte lieber eine irreführende Warnung als eine stillschweigend unterbrochene E-Mail-Einrichtung.

Die Alternative ist, die Prüfung zu entfernen und die Variable so zu neutralisieren, dass sie überhaupt nichts tut.

1 „Gefällt mir“

Es wäre schön, wenn die Warnung nicht angezeigt würde, wenn der ausgehende SMTP-Server localhost ist (d. h. mit dem Discourse-Domänennamen übereinstimmt), da TLS zwischen dem Docker-Container und dem Host nicht benötigt wird, da es sich um dieselbe Maschine handelt.

1 „Gefällt mir“

In diesem Fall können Sie die Variable aus der Umgebung entfernen.

Es wird nur STARTTLS verwendet, wenn es angeboten wird.

1 „Gefällt mir“