如何正确发送(大量) Email 信件
如何正确发送(大量) Email 信件
Update(2011/5): 推荐 Amazon SES 服务
Update(2010/5): So You’d Like to Send Some Email (Through Code) 也可以一看
Update(2011/7): 推荐 Postmark,也有 Rails plugin。
在众多客户需求中,我最害怕的其中一条”顺便”要做的功能就是,在后台可以寄信给”全部的”使用者。
寄 “email” 而已,不是非常简单吗?
寄给几个人是很简单,但是要寄给”一群”人,那就不是件简单的事情了,在这 spam 肆虐的年头, 信寄出去不一定就能顺利到达使用者的收件夹。
Engine Yard 的这两篇 How To Ensure Your Email Gets Delivered 和 Making Sure Your Email Gets Delivered 点出了寄 Email 要注意的事项:
- 处理退信
Bonuce mail 是你寄出去的信件,但是因为某些理由(地址不对、对方信箱满了)而被对方 mail sever 退信,这些 email 你必须要处理。如果你忽略它还一直寄,你就长得蛮像发垃圾信的傢伙,而会被列出黑名单之中。
- 与主要的 Email 服务商设定意见反应机制(Feedback Loop)
Feedback Loop 是一项协助处理当你的 email 被使用者按下 “垃圾信” 的服务。透过主动接触主要的 Email 服务提供商,去建立用户意见反应机制。例如 台湾Y!、Yahoo! Complaint Feedback Loop、msn等,减少被寄件者检举成垃圾信的次数。
- 建立自已的 email 清单
建立你自己的 mail 清单。如果你的清单是买来的,不但收件人没有同意要收到你的信件,也会有很高的机会是 bonuce mail。寄出大量的非允许邮件,终究会让你的 IP 被列出黑名单。
标準的作法是,要在使用者注册后,且他们也确认收到注册的认证信(透过email上的认证连结),如此便可以确保这个 email 的正确性,而不会变成 bonuce mail。你也应该避免寄出跟你服务无关的email,减少被检举成垃圾信的机会。
- 不要使用 100% 以图片为主的内容
减少使用图片,像 Gmail 预设就不会读取图片,重要的资讯使用图片可能会让使用者预设就看不到。充满图片的的 email 也容易判读成垃圾信。
- 使用垃圾信判读工作测试
收信的 mail server 通常会使用如 Spam Assassin 的工具来判读是否是垃圾信,而你也应该用这类的工作检查你寄出去的信件。http://www.brandonchecketts.com/emailtest.php 是一个线上的检查工作,如果你的分数太低,显然很可能被判读成 spam。至于为什么分数低,可以参考这篇文章。
- 验证 HTML
如果你寄的是 HTML 格式,你应该检查 HTML 格式是否正确。一封畸形的信件也容易变成 spam。
- 模拟测试终端使用者环境
使用不同 email clients 实际测试,例如 litmusapp.com 这个工具。不同的 client 可能会显示不同的结果。
- 专属 IP
是否有专属的 IP。如果你的 email sever 是跟人共用的,很可能别人被 spam 了,跟着害到你被列入黑名单。
- 设定 SPF Validation
SPF (Sender Policy Framework) 是一项 e-mail 协定来确认 return-path address 的正确性,用以防止垃圾信件。设定 SPF 可以改进你的信件发送成功率,特别是 hotmail(MSN)。
- 设定 Domain Keys Verification
Domain Keys 验证是另一种防止垃圾信件的协定。
- 设定 Reverse DNS 反查
设定反向查询的 DNS 记录,如果你寄信的 IP 无法反查,可能根本就寄不到。
- 验证寄信者地址
你的寄信人 email 位址也要是正确存在的。许多 email 服务商会先检查寄件人的地址是正确的,才会收信。
接下来麻烦的是,如果你终究还是不小心被列成黑名单,该怎么办? 这篇文章也列出一些常见的原因。
Anyway,我的结论是,还是交给专业的来吧~ 自己架设/管理 email server 不但辛苦又会被 blocked。如果信件量一天低于 500 封,我会建议采用免钱 Gmail 来寄信;超过的话,则有一些第三方服务可以采用,例如 Amazon SES、Sendgrid 或 Authsmtp。 如果需要比较多的行销功能,则可以考虑 Madmimi、Campagnmonitor 或 Mailchimp 等服务。
BTW,既然提到了 Campaign Monitor,如果你有心做 Email marketing,他们家有不少值得一读的资源,例如 Guide to CSS support in email clients 就十分有用。