Les e-mails : la tâche rake test ne devrait pas signaler la livraison réussie lorsque l'e-mail est désactivé

Similaire à Email test area should warn if emails are disabled

Ceci est trompeur :

$ 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.

Dans ce cas, aucun e-mail n’a été envoyé car SiteSetting.disable_emails == "non-staff".

Nous devrions avertir de cela dans la tâche rake. Souhaitez-vous :

  • ajouter une logique à Email::Sender#send qui retourne une valeur indiquant si le message a été envoyé (par exemple : envoyé, ignoré, désactivé, aucun_message)
  • ou ajouter une logique à la tâche emails:test qui teste uniquement disable_emails ?
1 « J'aime »

Je pense que j’ai participé à une partie de ce code…

Donc, l’affirmation selon laquelle l’e-mail a été accepté est un mensonge ?

Ce que je souhaiterais le plus, c’est que la tâche Rake ignore le paramètre de désactivation des e-mails. Si quelqu’un a accès à la console, il devrait pouvoir envoyer un e-mail de test.

1 « J'aime »

Je suis d’accord ; c’est un bon point. Ce serait peut-être une bonne idée d’envoyer l’e-mail et de signaler que les e-mails sont désactivés, au cas où.

2 « J'aime »

Je n’ai pas réussi à reproduire l’échec de l’envoi du message dû à SiteSetting.disable_emails, mais j’ai modifié le script pour ne signaler le succès que si un EmailLog est renvoyé, et ajouté un avertissement supplémentaire pour le paramètre disable_emails.

$ bin/rake 'emails:test[]'
Test de l'envoi vers  via localhost:1025, nom d'utilisateur : avec authentification .
Connexion au serveur SMTP réussie.
Envoi vers . . . 
Le message n'a pas été envoyé.

Raison : message.to est vide

### AVERTISSEMENT
Le paramètre de site `disable_emails` est actuellement défini sur non-staff.
Envisagez de le modifier à 'no' avant d'effectuer tout autre dépannage.

et

Envoi vers michael@example.com. . . 
Message accepté par le serveur SMTP.
Message-ID : dfaf1c88-aab6-474b-b50c-8c500afb6291@localhost

Si vous ne recevez pas le message, vérifiez votre dossier SPAM
[...]

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

3 « J'aime »

Ce sujet a été automatiquement fermé après 21 heures. De nouvelles réponses ne sont plus autorisées.