在hmailserver的反垃圾邮件功能中有提到给垃圾评分标准,其中比较主要的四个,SPF、HELO、DNS MX、DKIM签名,
看默认的分值,无疑DKIM签名是最高的,如果校验DKIM失败,直接会当作垃圾邮件的。无疑,如果对方的邮件服务器启用了这几个校验,如果你发出去的邮件未通过,就会被当作垃圾邮件了,我试了一下,都没有设置,发往gmail的邮件直接发送失败,发往腾讯企业邮箱的邮件还收到了。
那如何让这些校验通过呢?首先你最好得有一个固定IP,这样才好设置SPF,需要给你的域名添加一个txt记录,里面包含你邮件服务器的IP。可以用nslookup来查询一下qq.com的txt记录,那就是SPF了,关于SPF的介绍,可以查看http://baike.baidu.com/view/1372988.htm 来了解一下。HELO这是直接在hmail 的Settings-Protocols-SMTP-Delivery of e-mail中的local host name中填写。
MX记录解析,这个在域名中添加mx记录即可,最后就到了DKIM签名。
DKIM的全称是Domain Key Identified Mail,域名密钥识别邮件,就是邮件服务器对自己发的邮件签名,表示这个邮件是自己发出去的,如果一个对方邮件服务器能够验证这个签名,就表明这个邮件可能不是垃圾邮件,因为垃圾邮件一般都会伪造地址发送的。那岂不是那些垃圾邮件发送者只要给垃圾邮件也每个签名也能表示它发送的不是垃圾邮件?接收邮件服务器如何能辨别这个签名真假?那发送邮件服务器跟接收邮件服务之间有个约定,呃,你记好了,我的签名是如何如何防伪的,这就是基于私钥与公钥的签名。
发送方基于私钥给邮件DKIM签名,接收方根据发送方的公钥来验证这个DKIM签名,很明显,私钥是给发送邮件服务器来使用的,那公钥如何传输呢?不多说了,了解一下就行了,下面是网上的介绍。
一些签名的具体细节:
1、算法,必须支持rsa-sha256,可选支持rsa-sha1。key size建议1024。
标准化(Canonicalization). 有的邮件服务器可能会少量修改文件内容,比如换行或者移除一些空格等等。因此DKIM定义了两种2、标准化方法,simple