2017-12-29

搭建自己的邮件系统——我不是垃圾邮件

起源

前两篇文章 搭建自己的邮件系统——能用就行 , 搭建自己的邮件系统——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

如果无法加载 请将 disqus.com | disquscdn.com 加入代理