Rails delayed_jobs在发送邮件时询问“发件人/发件人”
我试图设置异步电子邮件发送。我正在使用delayed_job。 Withoud delayed_job一切正常,没有任何错误。但是,当我补充一下:Rails delayed_jobs在发送邮件时询问“发件人/发件人”
handle_asynchronously :mail_sending_method
我收到以下错误:
A sender (Return-Path, Sender or From) required to send a message
我用的ActionMailer用于发送邮件,特别是这样的:
mail(:to => user.email, :from => "[email protected]", :subject => "Blah")
这里是方法:
def phrase_email(user, tweet, keyword, phrase)
@user = user
@tweet = tweet
@keyword = keyword
@phrase = phrase
mail(:to => user.email, :from => "[email protected]", :subject => "Weekapp Phrase Notification")
end
延迟工作w与Rails 3 Mailers
不同。
class YourMailer < ActionMailer::Base
def phrase_email(user, tweet, keyword, phrase)
@user = user
@tweet = tweet
@keyword = keyword
@phrase = phrase
mail(:to => user.email, :from => "[email protected]", :subject => "Weekapp Phrase Notification")
end
end
因此,如下使用delay
或deliver
一边打电话到你的邮件的方法。
YourMailer.delay.phrase_email(user, tweet, keyword, phrase) #With delay
YourMailer.phrase_email(user, tweet, keyword, phrase).deliver #Without delay
并从您的YourMailer中删除handle_asynchronously
。
在文档here中明确提到。您不能将邮件使用handle_asynchronously
。
谢谢您的回答。我试了一下,但没有收到任何错误信息......但我没有收到任何电子邮件......稍后我会再检查一次...... – rastko 2013-03-13 19:41:11
您是否检查了延迟的作业从控制台和延迟的作业日志??我认为这是正确的。要以开发模式将邮件发送到收件箱,您需要配置一些内容。所以我使用'mailtrap'来检查邮件是否正常工作。看到这个https://github.com/mmower/mailtrap – codeit 2013-03-13 19:45:24
嗨,再次。我回到了这个问题。所以我发现在表格延迟的工作中,我的电子邮件正在储存,但最终不会发送。我怎样才能让它发送电子邮件到真实地址? – rastko 2013-03-26 10:57:38
你可以发布'mail_sending_method'吗? – codeit 2013-03-13 18:21:29
我已加入 – rastko 2013-03-13 18:36:09