2010-06-29 86 views
1

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

回答

2

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

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

这应该不是什么大事,除非出现问题。默认情况下,外发电子邮件将被写入日志文件,因此您可以通过在那里检查确认他们实际上正在发送。如果您想查看/处理内存中的队列,您必须将代码添加到您的工作中才能这样做,因为这是唯一可以访问它的代码。