检测 DKIM 和 DMARC 设置

Detecting DKIM and DMARC settings

我正在尝试构建一个工具来检查特定域是否存在 DKIMDMARC。检测 DKIM 的问题是我无法检查域的 TXT 记录,因为 DKIM 选择器对我来说是未知的,因为这是一个 运行 没有的查询来自该发件人的电子邮件的收件人。我也找不到有关通过 PHP 获取 DMARC 政策的有用信息。过去两天我一直在尝试,我所设法确定的只是 SPF 检查。

如有任何帮助,我们将不胜感激!

如您所说,您将无法获取 DKIM 记录,因为您不知道选择器是什么,除非您有来自该域的签名电子邮件。

但是,DMARC 检查就像 SPF 检查一样。您正在 _dmarc.exampledomain.com 下查找以 v=DMARC1

开头的 TXT 记录

当你做 SPF 时,你正在寻找 EXAMPLEDOMAIN.COM 下以 v=spf1 开头的 TXT 记录,这几乎是一样的,你只需要添加 _dmarc.在您进行查找之前输入域名的来源。

@Brijesh Tanwar - Can you please send the code. how to get DKIM and DMARC records. I have tried this but it's not working for me.

检查 DMARC

$result = dns_get_record("_dmarc.yourdomain.com",DNS_TXT);
print_r($result);

检查 SPF

$result = dns_get_record("yourdomain.com",DNS_TXT);
print_r($result);

检查 DKIM(如果您知道选择器)

$result = dns_get_record("selector._domainkey.yourdomain.com.",DNS_TXT);
print_r($result);