适用于Amazon EC2的SPF记录,并防止将电子邮件标记为垃圾邮件

时间:2016-02-29 18:00:16

标签: amazon-web-services amazon-ec2 dns spam-prevention spf

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

目前主网站/服务器的SPF记录如下::

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

我们在AWS上设置了弹性IP,以便为我们提供2.2.2.2的静态IP,因此我们有以下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实例的公共DNS是:

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

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

  • 我是否通过a:ec2-2-2-2-2.eu-west-1.compute.amazonaws.com
  • 添加公共DNS
  • 我是否通过include:ec2-2-2-2-2.eu-west-1.compute.amazonaws.com
  • 添加公共DNS
  • 我应该使用-all~all+all还是?all
  • 我是否应该在每个变量之前使用+符号,例如+mxmx

1 个答案:

答案 0 :(得分:4)

第一个选项是使用简单电子邮件服务发送您的电子邮件,这是用于从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记录应该相同,例如:
  3. EC2-instance-name弹性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资源可以做您想做的更好的事情,那么他们可能会建议,但根据我的经验,除非您的用例在那里,他们将倾向于批准它。 / p>

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