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

4
我正在使用delayed_job异步发送欢迎邮件,但当我延迟发送时,邮件附件似乎没有被发送。
如果我使用代码UserMailer.welcome_email(@user).deliver,邮件将带有附件,并且日志显示该电子邮件被发送为多部分邮件。
但是,如果我使用代码UserMailer.delay.welcome_email(@user),邮件将被发送,但没有附件,并且日志不指示该电子邮件是作为多部分电子邮件发送的。
我必须配置特殊内容才能使它正常工作吗?我的Rails版本是3.0.9,delayed_job版本是2.1.4。
谢谢!
1个回答

4
我发现了问题所在。
在我的邮件程序中,我没有添加 content_type "multipart/mixed" 这一行,因为我认为 mail gem 会自动处理,正如在 http://guides.rubyonrails.org/action_mailer_basics.html#adding-attachments 中所述。
结果发现,当我不延迟发送电子邮件时,让 mail gem 处理可以工作,但是当我延迟发送时就无法工作。将 content_type "multipart/mixed" 添加到我的邮件程序中可以解决这个问题。
然而,我不确定这是否是 delayed_job 的 bug,还是我缺少了某些配置。

这是一个关于delayed_job的问题:https://github.com/collectiveidea/delayed_job/wiki/Common-problems#wiki-Sending_emails_with_attachments - m33lky
2
你在哪里放置 content_type "multipart/mixed"? - monteirobrena

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接