我有一个电子邮件地址转发到一个 gmail 帐户。然后我使用 SMTP 通过域 SMTP 服务器从 gmail 发送响应。这一切都设置得很好。但是有些收件人没有收到电子邮件?我需要在域端进行进一步的配置吗?
有人告诉我需要配置 SPF、DKIM 和 DMARC 记录,但我不知道配置/值应该是什么?
设置 SPF、DKIM 和 DMARC 很少是发送电子邮件的先决条件。如果您的电子邮件域和服务器具有良好的声誉,那么您通常不会遇到太多麻烦。
但是,最好设置所有这三个,以开始验证您的电子邮件并使其他人更难在未经授权的情况下冒充您的电子邮件域。我将为您概述基础知识:
为什么要进行身份验证
DMARC
DMARC 将尝试为代表您发送的服务器找到成功的身份验证。具体来说,它将查找 SPF或DKIM 上的 Pass,与在其电子邮件客户端中显示给收件人的电子邮件地址(域)一致。这被称为Header.From
场。(不要与Sender
字段、Reply-To
字段或 混淆Return-Path
)。
防晒指数
SPF 基本上是一个 IP 地址列表,作为TXT
DNS 资源记录发布,列出所有有权为该记录所在的域发送电子邮件的服务器。这不包括子域,那些需要额外的 SPF 记录。SPF 的(许多)问题之一:接收服务器需要检查Return-Path
电子邮件地址以查找 SPF 记录,而不是Header.From
域。根据SMTP RFCHeader.From
,电子邮件地址和地址无需共享任何域部分。因此 DMARC 进来了。Return-Path
DKIM
使用 DKIM 私钥对电子邮件进行签名需要您在_domainkey
要签名的域的子域中发布匹配的公钥。接收服务器将在 DKIM 签名中查找d=
值和值,以构造正确的 DNS资源记录以进行查询,并持有公钥。示例将导致对记录的 DNS 查询。此处与 SPF 相同:该值不必与电子邮件地址的域部分匹配。s=
TXT
d=stackexchange.email s=s1
TXT
s1._domainkey.stackexchange.email
d=
Header.From
不幸的是,配置和值非常具体,具体取决于允许代表您的域发送的各方、您使用的子域以及如何使用它们等。特别是 SPF 有一些限制,这会使设置更加困难。