起源
前两篇文章 搭建自己的邮件系统——能用就行 , 搭建自己的邮件系统——TLS安全 简单的叙述了如何建议一个 建立一个自有域名邮件系统,建完之后,愉快的给别人发了一封邮件,却发现在别人的垃圾文件夹里,所以我们应该配置一些东西来验证发送者的身份。比如SPF DKIM DMARC 等 。
配置
还是一样啊~
SPF
发件人策略框架, 规范是 RFC 4408
其实就是一个 DNS 的TXT 记录, 上面记录了本域名允许的发邮件的 IP/地址,官方文档在这 http://www.openspf.org/SPF_Record_Syntax
为了方便一句带过v=spf1 a mx -all
以后得改Orz……
bind 记录为
@ IN TXT "v=spf1 a mx -all"
DKIM
域名密钥识别邮件, 在发送邮件的头部加上密钥以确认是否为本域发送的。我们使用 opendkim 来完成。
用apt 安装 opendkim
安装完成后 ,在 /var/mail/dkim/example.com/
用命令
opendkim-genkey -t -s mail -d example.com
会生成两个文件.其中 mail.txt 是一条 DNS 记录 粘贴到 bind 的解析文件就可以了。
修改 /etc/opendkim.conf
Domian example.com
KeyFile /etc/dkimkeys/dkim.key
Canonicalization simple
Mode sv
OversignHeaders From
ResolverConfiguration /etc/unbound/unbound.conf
编辑 /etc/dkimkeys/dkim.key
文件
mail._domainkey.example.com example.com:default:/var/mail/kim/example.com/mail.private
编辑 /etc/postfix/main.cf
加上
smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = inet:127.0.0.1:8891
milter_default_action = accept
修改 /etc/default/opendkim
SOCKET="inet:8891@localhost"
重启 postfix 和 opendkim 就可以了
DMARC
DMARC协议是有效解决信头From伪造而诞生的一种新的邮件来源验证手段,也是通过
DNS进行配置,详细配置DMARC
我直接接使用 v=DMARC1;p=reject
bind 记录为
_dmarc IN TXT "v=DMARC1;p=reject"
Notice: 有些邮箱是会检查邮件内容,如果内容不合适,也会被归为垃圾邮件
-- EOF --
comments