2016-10-12 86 views
0

我有一个小计划,旨在检查这三个邮件记录是否存在打击欺骗。它似乎在特定的领域工作,但他们似乎是在个案的基础上设置。 我的问题是什么更强大的方式来检查这些记录。 的代码是在这里: https://gist.github.com/amlwwalker/f445932d2fdb0f9f9a5e457c1894bf7d 例子:检查SPF,DKIM,DMARC编程

Ryanair.com:

result: v=spf1 a mx include:mail1.ryanair.com include:mail2.ryanair.com ~all 
err: lookup _dmarc.ryanair.com on 172.16.4.1:53: no such host 
err: lookup dkim._domainkey.ryanair.com on 172.16.4.1:53: no such host 

瑞安电子邮件标题:

Authentication-Results: mx.google.com; 
     dkim=pass [email protected]; 
     spf=pass (google.com: domain of [email protected] designates 209.235.250.215 as permitted sender) [email protected] 
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; s=15below; d=care.ryanair.com; h=MIME-Version:From:To:Date:Subject:Message-ID:Content-Type; [email protected]; bh=MCorT6FfWGOmISJQSzdv4YLmKfg=; b=eXcQvy0odmzIAYy11bfM8OsoiXziin5E1hbWHvxlY6Q+KSpZr6/5OiUZ4EiNoCpNwFrciKB9Yj8G 
    wmZOZwxQd3PW05+2bnu+8oKMPij/AyAEAi2tJ0TBEZxM7BOsno84L3eZ0BQFZvog6bW9UQE1fJCQ 
    aoQYXPgsHV6dzWjmHYo= 

所以对我来说,看起来像有DKIM和SPF。代码虽然没有找到DKIM记录。

marvelapp.com

result: v=spf1 include:mailgun.org include:spf.mandrillapp.com include:spf1 include:mail.zendesk.com include:spf.mail.intercom.io -all 
err: lookup _dmarc.marvelapp.com on 172.16.4.1:53: no such host 
err: lookup dkim._domainkey.marvelapp.com on 172.16.4.1:53: no such host 

Marvelapp电子邮件标题:

Received-SPF: pass (google.com: domain of [email protected] designates 31.193.196.244 as permitted sender) client-ip=31.193.196.244; 
Authentication-Results: mx.google.com; 
     dkim=pass [email protected]; 
     spf=pass (google.com: domain of [email protected] designates 31.193.196.244 as permitted sender) [email protected] 

所以我不明白的是,为什么在某些情况下dkim._domainkey.domain.TLD是找到正确的方法dkim键,有时它显然不是(谷歌似乎找到它,但如何?看看dkim键最好的方法是什么?

我基本上希望该代码片段返回相同的结果Gmail中去“显示原始”确实

感谢

回答

1

的DKIM选择不一定叫dkim。在瑞安航空例子中,选择是一个相当随机15below(从DKIM签名头部的s=项目),所以你需要查找15below._domainkey.ryanair.com

+0

感谢您的回复。这是标准吗?例如,从一个电子邮件发件人,我可以看到有一个'd =',它包含存储'dkim'键的域。 ryanair示例的域名存储在'd ='字段中,您必须将'15below._domainkey.'添加到它。是否有一组标准的规则来查找存储密钥的域? – amlwwalker

+0

是的 - 这是正确的[在这里的RFC(http://dkim.org/specs/rfc4871-dkimbase.html#dkim-sig-hdr)。如果你打算解析DKIM头文件,你真的**需要阅读规范! – Synchro