Le email: il task rake di test non dovrebbe segnalare la consegna riuscita quando le email sono disabilitate

Simile a Email test area should warn if emails are disabled

Questo è fuorviante:

$ 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 questo caso, nessuna email è stata inviata poiché SiteSetting.disable_emails == "non-staff".

Dovremmo avvisare di questo nel task rake. Vogliamo:

  • aggiungere logica a Email::Sender#send che restituisca un valore indicante se il messaggio è stato inviato (ad esempio: inviato, saltato, disabilitato, nessun_messaggio)
  • oppure, aggiungere logica al task emails:test che verifichi solo disable_emails?
1 Mi Piace

Credo di aver avuto a che fare con parte di quel codice…

Quindi la parte in cui si afferma che l’email è stata accettata è una bugia?

Ciò che vorrei di più è che il task Rake ignorasse l’impostazione di disabilitazione delle email. Se qualcuno ha accesso alla console, dovrebbe essere in grado di inviare un’email di prova.

1 Mi Piace

Sono d’accordo; è un ottimo punto. Potrebbe essere una buona idea inviare l’email e segnalare che le email sono disabilitate, per ogni evenienza.

2 Mi Piace

Non sono riuscito a riprodurre il problema del mancato invio del messaggio a causa di SiteSetting.disable_emails, ma ho modificato lo script in modo che segnali l’avvenuta esecuzione solo se viene restituito un EmailLog, aggiungendo anche un avviso per l’impostazione disable_emails.

$ bin/rake 'emails:test[]'
Testing sending to  using localhost:1025, username: with  auth.
Connessione al server SMTP riuscita.
Invio a . . . 
Il messaggio non è stato inviato.

Motivo: message.to è vuoto

### ATTENZIONE
L'impostazione del sito `disable_emails` è attualmente impostata su non-staff.
Valuta di modificarla in 'no' prima di procedere con ulteriori troubleshooting.

e

Invio a michael@example.com. . . 
Messaggio accettato dal server SMTP.
Message-ID: dfaf1c88-aab6-474b-b50c-8c500afb6291@localhost

Se non ricevi il messaggio, controlla la cartella SPAM
[...]

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

3 Mi Piace

Questo argomento è stato chiuso automaticamente dopo 21 ore. Non sono più ammesse nuove risposte.