查看发送的电子邮件

时间:2010-06-29 02:31:22

标签: ruby-on-rails

我有config.action_mailer.delivery_method =:test并使用delayed_job。我运行一些代码,将一封电子邮件发送到队列中,然后运行rake jobs:work,但我看不到发送的电子邮件,而且ActionMailer :: Base.deliveries是零。我只是想调试和查看htese电子邮件的内容,我该怎么办?

1 个答案:

答案 0 :(得分:2)

config.action_mailer.delivery_method设置为:test时,电子邮件实际上并未发送,而只是添加到“已发送”邮件列表中。该列表仅存在于内存中。这意味着只有“发送”电子邮件的流程才能看到该列表并验证它实际上是“已发送”。

由于实际发送邮件的代码正在外部进程中执行(通过system()或反引号调用),因此您的调用脚本将无法看到该外部进程的内存中队列因此无法验证电子邮件是否实际上已“发送”。

除非出现问题,否则这不应该是一件大事。默认情况下,外发电子邮件将写入日志文件,因此您可以通过检查确认它们实际上是在发送。如果要在内存中查看/操作队列,则必须向作业添加代码才能执行此操作,因为这是唯一可以访问它的代码。