你可以到 http://www.mail-tester.com/ 检测你的邮件分数
向你的邮件域名添加一条 TXT 记录
v=spf1 ip4:发信服务器的IP ~all
当然您也可以添加多个 IP 地址,网上有很多教程,这里就不在赘述了。
请联系你的机房,或 云服务商,国内目前仅阿里云可以联系客服进行免费设置,国外一般 VPS 的控制面板就可以。
本文使用的是 CentOS + Postfix 其他软件自行变通
首先,向你的 CentOS 添加 EPEL 库 , http://fedoraproject.org/wiki/EPEL 可以在这里寻找适合你操作系统的库。
我的服务器使用的是 CentOS 6.5 所以下载 EPEL 6 ( 由于 EPEL 所提供的镜像是 IPV6 地址,请确保你的服务器已经开启 IPV6 )
wget http://ftp6.sjtu.edu.cn/fedora/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -Uvh epel-release-6-8.noarch.rpm
rm -f epel-release-6-8.noarch.rpm
添加成功后,安装 opendkim
yum install opendkim
创建 opendkim 配置文件
vi /etc/opendkim.conf
填入以下内容
Canonicalization relaxed/relaxed
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
KeyTable refile:/etc/opendkim/KeyTable
LogWhy Yes
MinimumKeyBits 1024
Mode sv
PidFile /var/run/opendkim/opendkim.pid
SigningTable refile:/etc/opendkim/SigningTable
Socket inet:[email protected]
Syslog Yes
SyslogSuccess Yes
TemporaryDirectory /var/tmp
UMask 022
UserID opendkim:opendkim
mkdir /etc/opendkim/keys/YourDomain.com
opendkim-genkey -D /etc/opendkim/keys/YourDomain.com/ -d YourDomain.com -s default
创建完毕后,将其添加到 /etc/opendkim/KeyTable 中
default._domainkey.YourDomain.com YourDomain.com:default:/etc/opendkim/keys/YourDomain.com/default.private
然后添加 /etc/opendkim/SigningTable
*@YourDomain.com default._domainkey.YourDomain.com
设置允许进行签名的主机 到 /etc/opendkim/TrustedHosts 中,一般情况下都是本机发信,我们将 127.0.0.1 加入即可。
到 /etc/opendkim/keys/YourDomain.com/default.txt 可以找到你的 key 。
记录类型 TXT 子域名 default._domainkey ,记录内容就是 default.txt 里面从 v=DKIM1 开始的内容。
此时 DKIM 签名软件已经可以正常工作了,接下来就要让 Postfix 所发的邮件经过其处理
打开 Postfix 的 main.cf 配置文件,到达底部,添加如下内容
smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = inet:127.0.0.1:8891
milter_protocol = 2
milter_default_action = accept
service opendkim start
#正常返回应为 Starting OpenDKIM Milter: [ OK ]
postfix reload
如果没有错误的话,现在应该可以开始发送了
我们通过 telnet 进行测试发送
可以看出无论是腾讯企业邮还是 QQ 邮箱都到达了收件箱
原地址(欢迎常来): http://blog.eqoe.cn/posts/build-perfect-mail-server.html
如果有错误欢迎指正
1
ilancelot 2015-01-13 22:54:01 +08:00
简洁明了,这就去试试。
|
2
iLiberty 2015-01-13 22:55:51 +08:00
Mark 过会儿看
|
3
miyuki 2015-01-13 23:04:57 +08:00 via Android
mark 感谢 PO 主的教程
|
4
TrustyWolf 2015-01-13 23:05:40 +08:00 2
EPEL源安装只需要一个命令:
yum -y install epel-release |
5
zjgood 2015-01-13 23:09:24 +08:00 via Android
感谢
|
6
wtchalloo 2015-01-13 23:21:55 +08:00
f(m)uck→_→
|
7
Devin 2015-01-13 23:23:19 +08:00
SPF记录的作用究竟大不大?
|
8
orzfly 2015-01-13 23:35:03 +08:00 1
其实就算满分了,短时间之内还是会被 Gmail SPAM 的很麻烦吧……
顺带一提如果不想折腾可以用这个: https://mailinabox.email |
9
lightryanking 2015-01-13 23:35:08 +08:00
感谢楼主分享。最近对mail 非常感兴趣 :)
|
10
mengzhuo 2015-01-13 23:35:20 +08:00 1
|
11
extreme 2015-01-13 23:36:47 +08:00
这些只是告诉收件方你是经过验证的发件人。
你还需要告诉收件方,当收到无法通过这些验证的邮件时,如何处理。 不然,收件方仍然会收取无法通过验证的邮件。 这个东西就是: DMARC |
13
ysz1996 2015-01-14 00:23:52 +08:00 via Android
诺 不是要铜币么
|
15
scys 2015-01-14 01:06:51 +08:00
很不错,近来正想搭建一个独立的邮件服务器
|
16
Delbert 2015-01-14 01:44:24 +08:00
满分不满分和邮件内容相关的吧?
纯文本和富媒体分数就不一样,有没有图片 链接,邮件长度都影响得分,得分是针对邮件而不是仅仅针对服务器的吧? 之前测试过,服务器不变,更改内容就可以改变得分。 |
18
Akiyori 2015-01-14 02:00:35 +08:00 via iPhone
Mailtester满分,SpamAssassin 垃圾邮件可能性负分但是 Gmail 首次发送一定是进 spam 的默默路过...
|
19
liuchen9586 2015-01-14 08:26:59 +08:00
不错,收藏了
感谢楼主分享。 不过第一封进垃圾箱是怎么回事… |
20
typcn OP @liuchen9586 我第一封直接收件箱诶,可能跟内容有关?我是注册确认信
|
21
ibudao 2015-01-14 10:59:11 +08:00
人生苦短,我用zimbra
|
22
viesong 2015-01-14 15:44:12 +08:00
服务器只能解决基本的问题,后期的,发送、频率、预热、分析、太耗时耗力,推荐使用 SUBMAIL http://submail.cn/chs 比自建服务器 性价比更高。
|
23
typcn OP @viesong 每次发出去邮件都显示 xxx 代发,点了链接还是 xxx 域名,不觉得很掉档次吗。
分析,说白了也就是个一个带统计的短网址跳转系统,邮件里面 <img src> 计算打开量,链接经过跳转计算点击量 |
24
tititake 2015-01-14 22:15:57 +08:00
header_check做了吗?
过滤 Received/X-Originating-IP/X-Mailer 否则用邮件客户端发信测试,如Outlook,还是不会给满分。 |
26
windyboy 2015-01-15 11:13:53 +08:00
配dkim的时候应该还要指定一下key
一般是本域名的话,就把private指定为key就可以 此外keys的目录需要指定所有者为opendkim |