Rails 关于网站邮件的群发的问题

blankyao · 2012年06月27日 · 最后由 Guest 回复于 2013年08月23日 · 6878 次阅读

比如说我有一个用 Rails 开发的网站,有 100 万个用户,我现在要群发一封邮件给所有的用户,没封邮件内容还不太一样(比如开头称呼是“亲爱的用户 xxxx”)

我想到的问题包括:

  • 发送频率(防止被服务商当垃圾邮件处理)
  • 异步发送(在页面点一下按钮,然后后台有一个服务去异步的执行)

目前网站用的是 Rails+apache+passenger,不想搞的太复杂,想用最简单的方法搞定这个需求,求高手们给点贱议

我没实际用过,不过推荐用 http://mailgun.net/ 这样的服务,这个可以设置每封邮件不同的称呼。

自己发肯定会被当 spam,大的邮件商没那么容易被封,但是要注意自己不要真的发垃圾邮件,参考 google 的邮件群发指南 http://support.google.com/mail/bin/answer.py?hl=zh-Hans&answer=81126

#1 楼 @Rei 原来 mailgun 还可以设置没封邮件不同的称呼呀,不过这个称呼哪儿来呢?不是得从网站用户数据表里整出来么

我现在用的是 amazon 的 ses,在 rails 里配置一下 smtp 就可以了

#2 楼 @blankyao http://documentation.mailgun.net/user_manual.html#template-variables 给列表发邮件的时候可以使用一些变量。

变量是维护列表(增删改用户)的时候记录的。

#3 楼 @Rei 多谢,看了下文档,用 mailgun 确实很方便。但是我现在已经用了 amazon 的 ses,而且 mailgun 价格还比较高,而且我还有个需求,就是发的时候可以按批发,比如说每次发给 1000 个用户。 所以,我可能注定得用 ses 的 smtp 然后自己来发了

异步发送的话结合 delayed_job 或者 resque,两者比较起来,应该是 delayed_job 更符合「想用最简单的方法搞定这个需求」

#5 楼 @HungYuHei 看 delayed_job 好久没更新了,我研究下 resque 看看

#7 楼 @jhjguxin 多谢,正在实践中,嘿嘿

下午用 resque 整了下,还是比较方便的,唯一不太方便的就是启动时要自己执行一下命令

VVERBOSE=1 QUEUE=file_serve rake environment resque:work

要是这步也能省掉就好了

10 楼 已删除
需要 登录 后方可回复, 如果你还没有账号请 注册新账号