$ 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.
Neste caso, nenhum e-mail foi enviado, pois SiteSetting.disable_emails == "non-staff".
Deveríamos alertar sobre isso na tarefa rake. Queremos:
adicionar lógica a Email::Sender#send que retorne um valor indicando se a mensagem foi enviada (por exemplo, sent, skipped, disabled, no_message)
ou, adicionar lógica à tarefa emails:test que verifique apenas disable_emails?
Então, a parte sobre o e-mail ter sido aceito é uma mentira?
O que eu mais gostaria é que a tarefa rake ignorasse a configuração de desativar e-mails. Se alguém tem acesso ao console, deveria poder enviar um e-mail de teste.
Não consegui reproduzir a falha no envio da mensagem devido ao SiteSetting.disable_emails, mas alterei o script para relatar sucesso apenas se um EmailLog for retornado, além de adicionar um aviso extra sobre a configuração disable_emails.
$ bin/rake 'emails:test[]'
Testando o envio para usando localhost:1025, usuário: com autenticação .
Conexão com o servidor SMTP bem-sucedida.
Enviando para . . .
O e-mail não foi enviado.
Motivo: message.to está em branco
### AVISO
A configuração do site `disable_emails` está atualmente definida como non-staff.
Considere alterá-la para 'no' antes de realizar qualquer outra solução de problemas.
e
Enviando para michael@example.com. . .
E-mail aceito pelo servidor SMTP.
Message-ID: dfaf1c88-aab6-474b-b50c-8c500afb6291@localhost
Se você não receber a mensagem, verifique sua pasta de SPAM
[...]