Los correos electrónicos: la tarea rake de prueba no debería informar de entregas exitosas cuando el correo electrónico está deshabilitado

Similar a Email test area should warn if emails are disabled

Esto es engañoso:

$ rake 'emails:test[michael@example.com]'
Prueba de envío a michael@example.com usando mx-out:25.
Conexión exitosa con el servidor SMTP.
Enviando a michael@example.com...
Correo aceptado por el servidor SMTP.

Si no recibes el mensaje, revisa tu carpeta de SPAM
o vuelve a probar con un servicio como http://www.mail-tester.com/.

Si el mensaje no se entrega, no es un problema de Discourse.

Revisa los registros del servidor SMTP para ver por qué falló la entrega del mensaje.

En este caso, no se envió ningún correo electrónico ya que SiteSetting.disable_emails == "non-staff".

Deberíamos advertir sobre esto en la tarea rake. ¿Queremos:

  • agregar lógica a Email::Sender#send que devuelva un valor indicando si el mensaje se envió (por ejemplo: enviado, omitido, deshabilitado, sin_mensaje)
  • o agregar lógica a la tarea emails:test que verifique solo disable_emails?
1 me gusta

Creo que tuve algo que ver con parte de ese código…

¿Entonces lo de que el correo fue aceptado es una mentira?

Lo que más me gustaría es que la tarea de Rake ignorara la configuración de desactivar correos. Si alguien tiene acceso a la consola, debería poder enviar un correo de prueba.

1 me gusta

Estoy de acuerdo; es un buen punto. Podría ser una buena idea enviar el correo electrónico y informar que los correos electrónicos están desactivados, por si acaso.

2 Me gusta

No pude reproducir el problema del mensaje que no se enviaba debido a SiteSetting.disable_emails, pero modifiqué el script para que solo informe éxito si se devuelve un EmailLog, y agregué una advertencia adicional para la configuración disable_emails.

$ bin/rake 'emails:test[]'
Prueba de envío a  usando localhost:1025, usuario: con autenticación .
Conexión al servidor SMTP exitosa.
Enviando a . . . 
No se envió el correo.

Motivo: message.to está vacío

### ADVERTENCIA
La configuración del sitio `disable_emails` está actualmente establecida en non-staff.
Considere cambiarla a 'no' antes de realizar cualquier otra solución de problemas.

y

Enviando a michael@example.com. . . 
Correo aceptado por el servidor SMTP.
Message-ID: dfaf1c88-aab6-474b-b50c-8c500afb6291@localhost

Si no recibe el mensaje, revise su carpeta de SPAM
[...]

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

3 Me gusta

Este tema se cerró automáticamente después de 21 horas. Ya no se permiten nuevas respuestas.