我一直在尝试弄清楚如何为我们用来通过 AWS SES API 分发电子邮件的域设置 DNS。
获取像
example.com
这样的域名,我已经使用 3 个生成的 CNAME 记录验证了 DKIM。
然后我启用了 MAIL FROM Doman
,我只能生成具有以下记录的子域 mail.example.com
:
MX
name: mail
value: 10 feedback-smtp.eu-west-2.amazonses.com.
TXT
name: mail
value: "v=spf1 include:amazonses.com ~all"
我还有
TXT
的 DMARK
记录为:
name: _dmark
value: "v=DMARC1; p=quarantine; fo=1; pct=25; rua=mailto:[email protected] ruf=mailto:[email protected]"
对于发件人电子邮件地址,我使用
[email protected]
,它使用所有相同的验证。
我的 DMARC 策略指定 DKIM 的宽松对齐,因为“发件人”标头使用具有普通域
[email protected]
的电子邮件地址,而 MAIL FROM 子域 mail.example.com
目前所有电子邮件都会退回,我不完全确定原因。 另外 - 预览退回的消息时 - From 显示为
From: [email protected]
而不是经过验证的子域 mail.example.com
- 不完全确定更改需要多长时间才能生效,但所有内容都已在几个小时前得到验证,并且已验证还是失败。
我已经使用 Gsuite 设置了发送电子邮件
[email protected]
- 因此它还有一组标准 Gmail MX 记录。
问题
我是否应该删除
mail.example.com
的 SPF TXT 记录并创建一个包含子域以及 amazonses.com
的记录?:
TXT
name:
value: "v=spf1 include:mail.example.com include:amazonses.com ~all"
还有什么其他办法可以让这一切顺利进行吗? 我边做边学,所以也许我错过了一些明显的东西,但任何帮助将不胜感激。
不确定这是否能解决您的具体问题,但 SPF 记录可能会更好,因为:
TXT
name:
value: "v=spf1 a include:amazonses.com ~all"
您的第一个版本不包含“a”,它将从 A 记录中获取“example.com”。
第二个示例将导致循环引用警告。
鉴于您更改了域中的邮件,您的 SPF 将需要包含“example.com”
这是一个相对较老的问题,但我仍然回答它,因为它有很多观点,并且与为SES设置SPF和DMARC记录时的常见错误有关。
当您想要在 DNS 中为任何邮件服务器(包括 AWS SES)设置 SPF 和 DMARC 记录时,您必须明确选择发送 (FROM) 域并在所有配置中使用相同的域名。例如,如果您想从
example.com
的根域发送电子邮件