我想向用户发送一次性的电子邮件,并且是 ActionMailer 的新手,不知道如何像这样一次性接近?生产机器上的 Rails Runner , Rake任务,甚至可能是 rails console ?!
图I我为user_mailer.rb
添加了一个动作。并在app/views/user_mailer/
中创建一个随附的视图。只是不确定如何触发它。我想抓住几个用户并分批发送给他们。很乐意手动执行此操作...因为我们在接下来的几天/几周内错开发送邮件。
感谢任何建议或意见。
答案 0 :(得分:1)
如果您希望尽可能自动地执行此操作,我会查看whenever gem。它允许您将rake(或runner)任务自动化为cron作业。您可以在lib
中的某个地方添加一个脚本,该脚本使用ActionMailer生成电子邮件,并安排何时与/ cron一起发送。
就批量发送而言, 我会做这样的事情:
Users.find_each(:batch_size => n) do |m|
mail = UserMailer.new(m.email_address, message)
mail.deliver
end
显然,那是近伪码,但希望它能让你走上正轨?