我正在使用delayed_job异步发送我的欢迎电子邮件,当我延迟它时,我的电子邮件中的附件似乎没有发送。
如果我使用代码UserMailer.welcome_email(@user).deliver
,邮件将随附件一起发送,日志表明该电子邮件是作为多部分电子邮件发送的。
但是,如果我使用代码UserMailer.delay.welcome_email(@user)
,邮件将被发送,但没有附件,并且日志不表示该电子邮件是作为多部分电子邮件发送的。
我是否必须配置一些特殊功能才能使其正常工作?我在Rails 3.0.9和delayed_job 2.1.4上。
谢谢!
答案 0 :(得分:4)
我发现了发生的事情。
在我的邮件程序中,我没有content_type "multipart/mixed"
行,因为我认为邮件gem会自动处理http://guides.rubyonrails.org/action_mailer_basics.html#adding-attachments中列出的内容。
事实证明,当我不延迟发送电子邮件时,让邮件宝石处理将起作用,但是当我延迟它时这不起作用。将content_type "multipart/mixed"
添加到我的邮件程序可以解决问题。
但是,我不确定这是否是delayed_job的错误,或者我是否缺少配置。