本文首發於:http://70.io/develop/aws_ses-...html
電子郵件這一已經誕生不少年的互聯網基礎服務並無隨着時間的推移而慢慢消亡,實際上它的生命力比大多數人預料的要強得多,至少到目前爲之它仍是互聯網不可缺乏的一部分。所以郵件系統就成了大多數網站重要組件,我在開發SegmentFault郵件通知系統的時候有幸測試了目前比較常見的三大郵件發送服務。git
這裏能夠大體介紹下這三大服務的特色github
咱們最先使用的就是它,價格很是便宜,便宜到每個月的費用基本上能夠忽略,並且API也很是友好,實在是初創網站的不二選擇。可是它有三個很是明顯的缺點segmentfault
常常容易被牆,所以你至少要有一臺境外的VPS作透明代理,建議你最好生成一個私有的SSL證書,或者你不差錢買個公有的也能夠,總之儘可能別裸奔,緣由大家都懂的。windows
不支持羣發,雖然你能夠在郵件中一次CC給多個收件人,可是用戶在收到郵件後會在收件人中看到其餘人的名字,很顯然不夠友好。服務器
最要命的一點那就是QQ郵箱目前已經基本屏蔽SES了,並且由於是共享發送服務器IP,因此基本無解。curl
前面兩點有解決方法,能夠參考我寫過的《用PHP實現一個Amazon SES的代理服務器》。post
因爲有官方的合做關係,我在SendCloud還在內部測試的時候,就拿到了使用資格,並在SF線上的一些不重要的服務上進行了測試。測試
SendCloud對國內郵箱的支持是很是好的,上面提到的QQ郵箱服務在SendCloud裏面沒有遇到,全部郵件均能準確送達。並且因爲是國內線路,因此API響應速度也很是快。網站
可是我有點擔憂它對國外郵箱的支持,由於已經出現過發送到windows live郵箱收不到的狀況,不事後來獲得瞭解決。不過我建議你們在發送國外郵箱時仍是使用國外的郵件服務,由於頗有可能由於衆所周知的訪問限制緣由,咱們的郵件沒法送達,畢竟搜狐也解決不了政策上的問題。
最後要說一點的是,SendCloud的訂價有點偏貴。免費用戶天天200封的限制 還不如限制每個月的總封數。並且對於羣發郵件來講,我用SES每月100塊人民幣就搞定的量,在SendCloud上可能要用五六百了。最後每月即便你一封郵件也不發,也會扣59塊錢,這也太坑爹了吧,難道是參考手機的最低消費來算的?我仍是比較喜歡按發送量來收費比較透明。
不過針對國內某些比較難搞定的郵箱,用SendCloud還真是挺合適的。
首先贊一下它的官網頁面設計,清新脫俗。從它的logo也能夠看出,這公司已經成爲rackspace旗下的了。
rackspace何許人也,若是這麼著名的IDC你都沒聽過,我只能告訴你github的就託管在它上面。而Mailgun官網下方合做夥伴logo列表裏大大的github也顯示它們之間不凡的關係。
Mailgun的免費帳戶仍是挺實用的,每月10000封的量足夠中小網站使用了。固然價格仍是比SES略貴,可是人家的郵件到達率可比SES高多了,目前咱們正在測試SF的通知郵件,基本沒有被拒收,即便在最奇葩的QQ郵箱也能作到徹底送達。
另外我要說一下Mailgun的API,設計的太讚了,不須要任何特殊的sdk支持,只須要用curl去post相應的參數就好了,這纔是真正的REST接口!
SES的服務後臺還真是簡約又簡單,固然它是整合到了AWS Management Console裏,你只能看到個大概信息,上方是帳戶基本概況
能夠看到,因爲我平時的發送量比較大,SES已經自動將個人配額調整到天天10萬封的發送量,每秒鐘最多能夠發送28封郵件。須要注意的是這個數值是漸進式增加的,你開始也許只有1000封的配額,這主要是防止某些垃圾郵件發送服務一開始就濫用。
下方是SES的統計圖表,因爲我目前就是拿SES來羣發週報因此能夠看到頗有規律的數值起伏。值得注意的是SES沒有日誌查看,這就是全部的信息了。因此出了問題你在後臺是查不到的,只能你本身記錄每封郵件的返回信息了。
相比較而言SendCloud提供的信息就很是全面了,不管是概覽的趨勢圖
仍是每封郵件的發送記錄,都有顯示。
可是東西一多就顯得很雜亂,某些東西讓人摸不着頭腦,好比下方的這個收信域名是個什麼東西,頁面上也沒有相應的幫助連接。我當時只是按發信域名設置了一下,後來發現設不設置都沒影響
最後出場的是Mailgun,這也是讓我最喜歡的一個後臺設計,dashboard頁清晰明瞭
日誌頁能夠追蹤每封郵件的狀態
前段時間看到知乎把郵件服務從Mailgun部分遷移到SendCloud了,其實我也建議你們這麼作。針對國內部分郵箱,使用SendCloud來發,其它郵箱就用Mailgun。若是是羣發週報這種對到達率要求不高的郵件,則能夠選用SES這種價格便宜量又足的服務。最後幾點忠告
DKIM是必需要作的
把你的發信域名與主域名分開,用子域名好比mail.xxx.com,這樣若是某個域名不慎被封還有迴旋的餘地
若是是土豪,建議單獨購買獨立ip的發信服務,這樣被封殺的可能性最小,並且有了ip就能夠跟服務商談加入白名單了。目前Mailgun和SendCloud都有這個服務。