首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Rails 3应用程序发送批量“每周摘要”电子邮件

从Rails 3应用程序发送批量“每周摘要”电子邮件
EN

Stack Overflow用户
提问于 2012-03-27 06:38:51
回答 1查看 990关注 0票数 4

我创建了一个rake任务来向我的订阅者(注册用户)发送电子邮件。

digest.rake:

代码语言:javascript
复制
desc "Send digest"
task :send_digest => :environment do
   Notifier.digest.deliver #if Time.now.monday?
end

通知器::摘要

代码语言:javascript
复制
 def digest(periodicity = "weekly")

   @from = "biowatts@gmail.com"

   @bcc = ""
     User.where("digest_periodicity LIKE ?", periodicity).each do |u|
       @bcc += u.email_address + ","
     end
   @bcc = Rails.env.production? ? @bcc[0..-1] : "biowatts@gmail.com"

   @message_subject = Rails.env.production? ? "#{periodicity.capitalize} Digest" : "#{periodicity.capitalize} Digest (Test)"

   @public_projects = PowerPlant.where("public = ?", true).order("created_at desc")  

   mail(:bcc => @bcc, :subject => @message_subject)

结束

在我尝试部署之前,这一切都很好。在我的生产环境中,我的收件人列表中有300多个电子邮件地址。因此,当我运行正确的rake命令,而不是发送我的电子邮件时,我收到了这条消息。

代码语言:javascript
复制
$ heroku rake send_digest --app biowatts
> rake aborted!
> 452-4.5.3 Your message has too many recipients. For more information regarding

我正在使用smtp.gmail.com,但我也尝试使用我的godaddy邮件服务器,但看起来我将面临类似的问题。

我的问题是:如何定期向我的订阅者列表发送电子邮件?

注意这封电子邮件是建立在我的数据库上的…

希望你能帮上忙

乔尔

EN

回答 1

Stack Overflow用户

发布于 2012-07-03 04:30:31

您的代码很好。问题出在gmail的规则上。你不能一次发那么多电子邮件。如果你曾经有一个朋友的账户被黑客入侵,你会看到他们将电子邮件发送给大约100个收件人,并重复发送。

解决方案:拥有多个电子邮件并轮换(这不是一个好主意,因为它会触发来自gmail的其他垃圾邮件防御)

使用Constant Contact或其他批量邮件-非常适合您的情况

使用SendGrid -他们可能会丢掉你,因为你在他们眼里是“垃圾邮件”,即使你并不是真正的垃圾邮件。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9880926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档