Rails Send 2 different emails from one mailer function

白昼怎懂夜的黑 提交于 2019-12-07 03:58:19

问题


I have a need to do so, because it seems logical to me:

def notification(vehicle) 
   @vehicle = vehicle

   mail(:to => @vehicle.owner.email_address, :template_name => "n_o")
   mail(:to => @vehicle.booker.email_address, :template_name => "n_b")

end

The problem is: I'm receiving only the last e-mail. So, in my example above, only the booker would receive the email and nothing is being sent to the owner.

What is the problem ? How to solve it ? Should I create two separate mailing functions, like notification_owner(vehicle) and notification_booker(vehicle), or there is a simplier solution ?

Thanks!


回答1:


Ok. So, silly me, I forgot to mention that I'm dealing with delayed_jobs gem. So, the problem was, that I forgot to specify the ".deliver!" action after each "mail" function.

So, it should look like this:

mail(:to => @vehicle.owner.email_address, :template_name => "n_o").deliver!
mail(:to => @vehicle.booker.email_address, :template_name => "n_b").deliver!

But still. Thank you for your support!




回答2:


Try:

def notification(vehicle,template_name) 
  @vehicle = vehicle
  mail(:to => @vehicle.owner.email_address, :template_name => template_name)
end


Mailer.notification(@vehicle,"n_o").deliver 
Mailer.notification(@vehicle,"n_b").deliver 


来源:https://stackoverflow.com/questions/14727042/rails-send-2-different-emails-from-one-mailer-function

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!