Die E-Mails: Der Rake-Task sollte keine erfolgreiche Zustellung melden, wenn E-Mail deaktiviert ist

Ähnlich wie unter Email test area should warn if emails are disabled

Dies ist irreführend:

$ rake 'emails:test[michael@example.com]'
Testing sending to michael@example.com using mx-out:25.
SMTP server connection successful.
Sending to michael@example.com. . . 
Mail accepted by SMTP server.

If you do not receive the message, check your SPAM folder
or test again using a service like http://www.mail-tester.com/.

If the message is not delivered it is not a problem with Discourse.

Check the SMTP server logs to see why it failed to deliver the message.

In diesem Fall wurde keine E-Mail gesendet, da SiteSetting.disable_emails == "non-staff" gilt.

Wir sollten dies in der Rake-Aufgabe warnend hervorheben. Möchten wir:

  • Logik in Email::Sender#send hinzufügen, die einen Wert zurückgibt, der angibt, ob die Nachricht gesendet wurde (z. B. gesendet, übersprungen, deaktiviert, keine_nachricht)
  • oder Logik in der emails:test-Aufgabe hinzufügen, die nur auf disable_emails prüft?
1 „Gefällt mir“

Ich glaube, ich habe mit einem Teil dieses Codes zu tun gehabt…

Ist die Aussage, dass die E-Mail angenommen wurde, also gelogen?

Am meisten würde ich mir wünschen, dass der Rake-Task die Einstellung „E-Mails deaktivieren

1 „Gefällt mir“

[quote=“pfaffman, Beitrag: 2, Thema: 185109”]
Was ich am meisten möchte, ist, dass die Rake-Aufgabe die Einstellung „E-Mails deaktivieren

2 „Gefällt mir“

Ich konnte das Problem, dass Nachrichten wegen SiteSetting.disable_emails nicht gesendet wurden, nicht reproduzieren. Ich habe das Skript jedoch so geändert, dass es nur dann Erfolg meldet, wenn ein EmailLog zurückgegeben wird, und füge eine zusätzliche Warnung für die Einstellung disable_emails hinzu.

$ bin/rake 'emails:test[]'
Testen des Versands an  über localhost:1025, Benutzername: mit  Auth.
SMTP-Server-Verbindung erfolgreich.
Senden an . . . 
Mail wurde nicht gesendet.

Grund: message.to ist leer

### WARNUNG
Die Site-Einstellung `disable_emails` ist derzeit auf non-staff gesetzt.
Überlegen Sie, sie vor weiteren Fehlerbehebungen auf 'no' zu ändern.

und

Senden an michael@example.com. . . 
Mail vom SMTP-Server akzeptiert.
Message-ID: dfaf1c88-aab6-474b-b50c-8c500afb6291@localhost

Wenn Sie die Nachricht nicht erhalten, überprüfen Sie Ihren SPAM-Ordner
[...]

https://github.com/discourse/discourse/pull/13674

3 „Gefällt mir“

Dieses Thema wurde automatisch nach 21 Stunden geschlossen. Neue Antworten sind nicht mehr erlaubt.