【问题标题】:First time mass-emailing using Sendgrid with rails第一次使用带有 Rails 的 Sendgrid 群发电子邮件
【发布时间】:2013-05-19 11:39:46
【问题描述】:

我正在 Heroku 上运行一个 Rails 应用程序,并想向 160 个用户发送电子邮件。这是我第一次这样做,所以我很想知道下面的方法是否会导致成功的结果。

Sendgrid 已全部发送完毕,我有一个执行以下操作的控制器设置:

@users = User.all
@users.each do |u|
  Email.send_email(p).deliver
end

我假设由于收件人的数量相对较少,我可以在不使用 delay_job 或其他一些后台处理的情况下度过难关。

【问题讨论】:

  • 将其移至后台。 Heroku 的请求超时了 30 秒,而 160 封电子邮件也不是一个小数目。即使有 2 封电子邮件,我在 heroku 上也有超时。
  • @Eru 你碰巧知道你是否仍然可以在不扩大规模的情况下在heroku上免费运行delayed_job?
  • 你可以。您也可以查看 resque 和 resque_scheduler
  • 嗯,看来您需要扩展到 worker=1,即 35 美元,我错了吗?
  • 其实是的。我刚刚检查过了。

标签: ruby-on-rails-3 heroku sendgrid


【解决方案1】:

SendGrid 实际上可以轻松发送电子邮件,而无需使用后台工作人员。您可以使用 X-SMTPAPI 标头并在 to 字段中设置电子邮件地址数组来完成此操作。例如:

X-SMTPAPI: {
  to: ["john.doe@example.com", "jackson@example.com", "freddy@example.com"]
}

在本例中,这三封电子邮件中的每一封都将收到一封单独的电子邮件副本。没有后台工作人员,没有复杂性。


有一个名为 sendgrid 的 gem 可以很好地为操作邮件添加一些有用的帮助程序。查看自述文件的“多个收件人”部分

https://github.com/stephenb/sendgrid

【讨论】:

    【解决方案2】:

    我建议您将时间投入到一些后台处理中,因为这可能是成功或失败,这一切都取决于电子邮件服务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-23
      • 2016-07-12
      • 2012-01-06
      • 2019-01-09
      • 1970-01-01
      • 2018-11-08
      • 1970-01-01
      • 2014-09-09
      相关资源
      最近更新 更多