以下两种电子邮件调用方法之间的区别是什么?一个是交付,而另一个没有。
mail(:to => 'test@gmail.com', :subject => "Test") do |format|
format.html { render layout: false }
end.deliver
mail(:to => 'test@gmail.com', :subject => "Test") do |format|
format.html { render layout: false }
end
答案 0 :(得分:2)
.deliver
实际发送消息,阻止没有.deliver
只创建邮件对象但不发送它。 .deliver
是用于发送.deliver_later
电子邮件或自定义创建的投放方式的操作(例如:您使用不带.deliver
的方法生成邮件,然后您的cron_job稍后发送此电子邮件。)
您可以在此处找到更多信息: http://guides.rubyonrails.org/action_mailer_basics.html#walkthrough-to-generating-a-mailer
或
使用电子邮件的好例子: http://railscasts.com/episodes/61-sending-email-revised?view=asciicast
答案 1 :(得分:1)
据我所知...只有平面mail
功能会发送电子邮件。如果您构建了一个Mail::Message
对象,则需要在其上调用.deliver
以使其发送,但mail
函数似乎会为您执行此操作。
(至少,据我所知。我还没有测试过,所以我不确定)