邮件发送服务AWS SES,Mailgun以及SendCloud

本文首发于:http://70.io/develop/aws_ses-...html

电子邮件这一已经诞生不少年的互联网基础服务并无随着时间的推移而慢慢消亡,实际上它的生命力比大多数人预料的要强得多,至少到目前为之它仍是互联网不可缺乏的一部分。所以邮件系统就成了大多数网站重要组件,我在开发SegmentFault邮件通知系统的时候有幸测试了目前比较常见的三大邮件发送服务。git

这里能够大体介绍下这三大服务的特色github

大体介绍

AWS SES

QQ图片20131120135107.jpg

咱们最先使用的就是它,价格很是便宜,便宜到每个月的费用基本上能够忽略,并且API也很是友好,实在是初创网站的不二选择。可是它有三个很是明显的缺点segmentfault

  1. 常常容易被墙,所以你至少要有一台境外的VPS作透明代理,建议你最好生成一个私有的SSL证书,或者你不差钱买个公有的也能够,总之尽可能别裸奔,缘由大家都懂的。windows

  2. 不支持群发,虽然你能够在邮件中一次CC给多个收件人,可是用户在收到邮件后会在收件人中看到其余人的名字,很显然不够友好。服务器

  3. 最要命的一点那就是QQ邮箱目前已经基本屏蔽SES了,并且由于是共享发送服务器IP,因此基本无解curl

前面两点有解决方法,能够参考我写过的《用PHP实现一个Amazon SES的代理服务器》post

SendCloud

因为有官方的合做关系,我在SendCloud还在内部测试的时候,就拿到了使用资格,并在SF线上的一些不重要的服务上进行了测试。测试

SendCloud对国内邮箱的支持是很是好的,上面提到的QQ邮箱服务在SendCloud里面没有遇到,全部邮件均能准确送达。并且因为是国内线路,因此API响应速度也很是快。网站

可是我有点担忧它对国外邮箱的支持,由于已经出现过发送到windows live邮箱收不到的状况,不事后来获得了解决。不过我建议你们在发送国外邮箱时仍是使用国外的邮件服务,由于颇有可能由于众所周知的访问限制缘由,咱们的邮件没法送达,毕竟搜狐也解决不了政策上的问题。

最后要说一点的是,SendCloud的订价有点偏贵。免费用户天天200封的限制 还不如限制每个月的总封数。并且对于群发邮件来讲,我用SES每月100块人民币就搞定的量,在SendCloud上可能要用五六百了。最后每月即便你一封邮件也不发,也会扣59块钱,这也太坑爹了吧,难道是参考手机的最低消费来算的?我仍是比较喜欢按发送量来收费比较透明。

不过针对国内某些比较难搞定的邮箱,用SendCloud还真是挺合适的。

Mailgun

Mailgun

首先赞一下它的官网页面设计,清新脱俗。从它的logo也能够看出,这公司已经成为rackspace旗下的了。

rackspace何许人也,若是这么著名的IDC你都没听过,我只能告诉你github的就托管在它上面。而Mailgun官网下方合做伙伴logo列表里大大的github也显示它们之间不凡的关系。

Mailgun的免费帐户仍是挺实用的,每月10000封的量足够中小网站使用了。固然价格仍是比SES略贵,可是人家的邮件到达率可比SES高多了,目前咱们正在测试SF的通知邮件,基本没有被拒收,即便在最奇葩的QQ邮箱也能作到彻底送达。

另外我要说一下Mailgun的API,设计的太赞了,不须要任何特殊的sdk支持,只须要用curl去post相应的参数就好了,这才是真正的REST接口!

服务后台

SES的服务后台还真是简约又简单,固然它是整合到了AWS Management Console里,你只能看到个大概信息,上方是帐户基本概况

屏幕快照 2013-11-20 下午10.45.57.png

能够看到,因为我平时的发送量比较大,SES已经自动将个人配额调整到天天10万封的发送量,每秒钟最多能够发送28封邮件。须要注意的是这个数值是渐进式增加的,你开始也许只有1000封的配额,这主要是防止某些垃圾邮件发送服务一开始就滥用。

屏幕快照 2013-11-20 下午10.49.53.png

下方是SES的统计图表,因为我目前就是拿SES来群发周报因此能够看到颇有规律的数值起伏。值得注意的是SES没有日志查看,这就是全部的信息了。因此出了问题你在后台是查不到的,只能你本身记录每封邮件的返回信息了。

相比较而言SendCloud提供的信息就很是全面了,不管是概览的趋势图

屏幕快照 2013-11-20 下午10.57.30.png

仍是每封邮件的发送记录,都有显示。

屏幕快照 2013-11-20 下午10.59.20.png

可是东西一多就显得很杂乱,某些东西让人摸不着头脑,好比下方的这个收信域名是个什么东西,页面上也没有相应的帮助连接。我当时只是按发信域名设置了一下,后来发现设不设置都没影响

屏幕快照 2013-11-20 下午11.06.59.png

最后出场的是Mailgun,这也是让我最喜欢的一个后台设计,dashboard页清晰明了

屏幕快照 2013-11-20 下午11.13.06.png

日志页能够追踪每封邮件的状态

屏幕快照 2013-11-20 下午11.18.37.png

最后要说的

前段时间看到知乎把邮件服务从Mailgun部分迁移到SendCloud了,其实我也建议你们这么作。针对国内部分邮箱,使用SendCloud来发,其它邮箱就用Mailgun。若是是群发周报这种对到达率要求不高的邮件,则能够选用SES这种价格便宜量又足的服务。最后几点忠告

  1. DKIM是必需要作的

  2. 把你的发信域名与主域名分开,用子域名好比mail.xxx.com,这样若是某个域名不慎被封还有回旋的余地

  3. 若是是土豪,建议单独购买独立ip的发信服务,这样被封杀的可能性最小,并且有了ip就能够跟服务商谈加入白名单了。目前Mailgun和SendCloud都有这个服务。

相关文章
相关标签/搜索