比如说我有一个用 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 看看
希望对你有用 https://gist.github.com/2958269
#7 楼 @jhjguxin 多谢,正在实践中,嘿嘿
下午用 resque 整了下,还是比较方便的,唯一不太方便的就是启动时要自己执行一下命令
VVERBOSE=1 QUEUE=file_serve rake environment resque:work
要是这步也能省掉就好了