使用delayed_job异步发送带附件的电子邮件

时间:2011-06-27 21:39:18

标签: ruby-on-rails-3

我正在使用delayed_job异步发送我的欢迎电子邮件,当我延迟它时,我的电子邮件中的附件似乎没有发送。

如果我使用代码UserMailer.welcome_email(@user).deliver,邮件将随附件一起发送,日志表明该电子邮件是作为多部分电子邮件发送的。

但是,如果我使用代码UserMailer.delay.welcome_email(@user),邮件将被发送,但没有附件,并且日志不表示该电子邮件是作为多部分电子邮件发送的。

我是否必须配置一些特殊功能才能使其正常工作?我在Rails 3.0.9和delayed_job 2.1.4上。

谢谢!

1 个答案:

答案 0 :(得分:4)

我发现了发生的事情。

在我的邮件程序中,我没有content_type "multipart/mixed"行,因为我认为邮件gem会自动处理http://guides.rubyonrails.org/action_mailer_basics.html#adding-attachments中列出的内容。

事实证明,当我不延迟发送电子邮件时,让邮件宝石处理将起作用,但是当我延迟它时这不起作用。将content_type "multipart/mixed"添加到我的邮件程序可以解决问题。

但是,我不确定这是否是delayed_job的错误,或者我是否缺少配置。