Isso parece um bom trabalho! Uma coisa que eu (acho que) notei é que a tarefa rake não usa o mesmo código que o envio real (como da página de teste de e-mail /admin/email). Tenho quase certeza de que tive um caso em que funcionou no UX, mas não na tarefa rake (ou talvez tenha sido o contrário?)
Enquanto isso está fresco em sua mente, se você pudesse ver que, pelo menos quando realmente envia, o faz usando o mesmo código que o Discourse, seria ótimo.