在调查 DMARC 报告时,我意识到我并不真正了解电子邮件的某些方面。我试图确保我正确掌握了与 SPF 和 DMARC 相关的概念。
如果一封电子邮件经过几个中间节点……
- 服务器之间的每个连接都会传递一个信封“MAIL FROM:”值,该值是在发件人的 MUA 进行初始 SMTP 握手时建立的。邮件在网络中传输时,“MAIL FROM:”的值不会改变。最终的 MTA 可能会根据“MAIL FROM:”添加“Return-Path:”标头。
- DMARC 报告中的“<header_from>”元素基于邮件的“发件人:”标头,由发件人的客户端设置。
- 链中的最终 MTA 执行 SPF 和 DMARC 检查。SPF 检查与其连接的节点的源 IP 地址。而不是原始源 IP 地址。
- 中间节点不执行 SPF 检查。它们主要中继电子邮件而不更改信封信息。
- 鉴于第三点,我的 DNS 的 SPF TXT 记录必须包含可以直接连接到收件人的 MTA 的每个可能的中间节点的 IP 地址。
因此,由于中间节点在 SPF 中不起作用。如果我能确保在节点连接到最终 MTA 之前在链中注入虚假电子邮件。那么 SPF 会通过吗?还应该可以伪造“MAIL FROM:”和“From:”;这样 DMARC 也会通过吗?
以上内容是否正确或者我还遗漏了其他要点?