繁体   English   中英

Rails循环发送电子邮件

[英]Rails send e-mail in a loop

我在Rails应用程序中运行了以下代码段,但未正确迭代:

task.users.each do |user|
  mail(to: user.email
       from: "Company <task." + user.id + "@mail.company.com",
       subject: "Update on " + user.assignment)
end

如果有3个用户,则仅发送一封电子邮件。 我已确认没有任何错误阻止其继续。

我不能简单地将电子邮件数组传递给to选项,因为我需要在每次迭代中使用用户的数据。

可以像上面这样吗?

您需要调用.deliver_now方法。

mail(to: user.email
       from: "Company <task." + user.id + "@mail.company.com",
       subject: "Update on " + user.assignment).deliver_now

我遇到了这样的问题,即这种发送无法正常工作,可能是因为邮件超出了范围。

因此,您可能需要执行以下操作:

class SendWeeklySummary
  def run
    User.find_each do |user|
      UserMailer.weekly_summary(user).deliver_now
    end
  end
end

Rails指南文档-请参见第2.1.4节

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM