Amazon EC2 的 SPF 记录并防止电子邮件被标记为垃圾邮件

SPF Record for Amazon EC2 and preventing emails being marked as spam

我正在尝试整理我的 Amazon EC2 以允许通过我的主服务器发送电子邮件。

目前主要 website/server 的 SPF 记录如下::

website.com.    300 IN  TXT "v=spf1 +a +mx +ip4:1.1.1.1 ~all"

我们在 AWS 上设置了弹性 IP,为我们提供静态 IP 2.2.2.2,因此我们设置了以下 DNS A 类型记录设置:

test.website.com.   300 IN  A   2.2.2.2

我原以为下面的 SPF 记录会允许主服务器和 AWS 服务器都使用 SMTP 电子邮件...

test.website.com.   300 IN  TXT v=spf1 +a +mx +ip4:1.1.1.1 ip4:2.2.2.2 ~all

但是,事实并非如此,电子邮件仍在返回

 Content analysis details:   (8.5 points, 5.0 required)

  pts rule name              description
 ---- ---------------------- --------------------------------------------------
  1.5 SPF_SOFTFAIL           SPF: sender does not match SPF record (softfail)
  1.1 DATE_IN_PAST_06_12     Date: is 6 to 12 hours before Received: date
  2.6 RDNS_DYNAMIC           Delivered to internal network by host with
                             dynamic-looking rDNS
  3.2 HELO_DYNAMIC_IPADDR    Relay HELO'd using suspicious hostname (IP addr
                             1)

我很确定所有这 4 个都与 SPF 不匹配的同一个问题有关

AWS实例的Public DNS是:

 ec2-2-2-2-2.eu-west-1.compute.amazonaws.com

我们不确定如何正确设置 DNS 记录...

第一个选项是使用简单电子邮件服务发送您的电子邮件,该服务用于从 AWS WorkMail 发送电子邮件,但是如果您需要从您自己的 EC2 实例发送电子邮件,则需要配置反向 DNS以及转发 DNS。

  1. 确保您的 EC2 实例有一条 Route 53 A 记录,上面有邮件服务器。此 A 记录应解析为您配置的弹性 IP。
  2. 然后转到表格 https://aws.amazon.com/forms/ec2-email-limit-rdns-request?catalog=true&isauthcode=true 并输入您需要从 EC2 发送电子邮件的用例描述、您的 EC2 实例的弹性 IP 地址以及您希望反向 DNS 是什么。反向DNS记录和正向DNS A记录应该相同,eg:

EC2-实例名弹性 IP 2.2.2.2

正向 DNS mail.domain.com A 2.2.2.2

反向 DNS 2.2.2.2 PTR mail.domain.com

AWS 应用此限制以确保 AWS IP 地址的质量,并试图确保 AWS 基础设施不用于发送垃圾邮件。当他们评估您的业务案例时,如果他们认为有替代的 AWS 资源可以做您想要做的更好的事情,那么他们可能会建议它,但根据我的经验,除非您的用例在那里,否则他们会倾向于批准它。

我过去设置了交换和基于 linux 的邮件服务器以及一些邮件列表服务器,它们都需要反向 DNS 才能正常工作,我填写了表格,反向 DNS 是在短时间内获得批准。