我正在创建一个 Web 应用程序,它将发送电子邮件,在用户首次登录网站时向他们提供注册电子邮件。最终,我们将每月发送电子邮件,向用户展示网站上的新功能。
我担心发送的注册邮件和其他邮件会被标记为垃圾邮件,我不希望发生这种情况。除了确保邮件内容可接受之外,运行发送服务器并避免被标记为垃圾邮件的最佳方法是什么?
选择:
- 为该域名创建一个 Google Apps 帐户并从那里发送。我们目前在其他域名上执行此操作。
- 通过提供我们的 DNS 条目的 GoDaddy.com 向域添加电子邮件选项。
- 在我们的一个 Amazon EC2 实例上运行我们自己的电子邮件服务器。
- 其他?
这不是重复的如何发送电子邮件并避免被归类为垃圾邮件?因为这个问题更具体地询问了原始服务器的选择。
答案1
您没有给我们提供太多信息。如果有人为您选择了最佳解决方案,那主要是偶然因素。
为自己从头开始设置邮件服务器需要学习很多东西。开始做某件事很容易,但随着时间的流逝,当你认识到最初的错误时,你可能会学到很多陷阱。话虽如此,一个只处理外发电子邮件、没有大量邮件的邮件服务器是一个相对简单的例子。
要点如下:
- 确保所有 DNS 设置正确。例如,邮件服务器的 PTR 记录和匹配的 A 记录。
- 设置 DKIM 签名。
- 设置 DPF 以验证您的邮件服务器是否可以从您的域发送。
- 设置 DMARC,以便您发现上述内容是否有问题。
- 确保正确处理退回邮件,以免继续向错误地址发送邮件。这并不简单,所以不要再重复做事了。
- 表现好点。保护你的邮件服务器的声誉很重要。
编辑:
现在已经过去了几年,现在我的操作一半是运行自己的中继,一半是使用 mandrillapp 和 sendgrid 等服务。通常,我构建的中继都是专门构建的,它通过其中一个服务上的给定帐户中继所有邮件,这样本地应用程序就不必处理这些服务的身份验证过程和凭据存储。
答案2
您可以使用 Amazon SES 服务发送电子邮件。只要您妥善处理投诉和退回邮件,您就可以通过它们发送大量邮件。亚马逊可以帮助您获得所有必要的签名,以证明您发送的邮件是真实的,而且他们的限制相当高(我见过在不到一小时内从这个平台发送了 10 万多封邮件)。
正如评论中提到的,您还必须确保您发送的邮件不会被视为垃圾邮件。
拥有正确的 MX 并不总是足够的。
我还认为大多数邮件黑/白名单服务不允许从 EC2 发送邮件。许多垃圾邮件发送者都尝试过。
答案3
我认为这是一个建造还是购买的问题。你提到的选项(1-3)都应归入“建造”类别。我只会在以下情况下这样做
- 您对垃圾邮件检测率、稳定性、性能等的要求不是很高,您的电子邮件数量较少(例如,低到可以由一个 Google 帐户处理) - 或者
- 您有能力运行自己的电子邮件服务器,这不是一项简单的任务
另一方面,你可以将电子邮件系统外包给专业供应商,例如发送网格(还有很多其他的)。亚马逊也有一些基本电子邮件网络服务当然,这些服务是有代价的,但请记住维护您自己的电子邮件服务器也会给您带来一些成本。