当前位置: 主页 > 服务器技术 > Mail服务器 > Ubuntu下安装Postfix并配置DKIM

Ubuntu下安装Postfix并配置DKIM

时间:2013-10-29来源:互联网 点击:

安装Postfix

为了方便操作 sudo -i 拿到root权限。
输入以下命令,安装postfix:

1
apt-get install postfix

安装过程中,在配置界面,选择:Internet Site

下一步,在 System mail name 中填写 mail.quanlei.com

然后Postfix就安装完毕,接下来进行配置,Postfix的配置文件在:

1
/etc/postfix/main.cf

给邮件服务器添加域名:

1
mydestination = mail.quanlei.com, localhost.localdomain, localhost

安装邮件客户端进行测试:

1
apt-get install heirloom-mailx

测试发个邮件(coolbee2002@163.com是我的163邮件,换成你的):

1
echo "test" | mail coolbee2002@163.com

收到邮件后,回复一下,然后通过下面命令查看(quit命令退出):

1
2
3
4
5
root@localhost:/# mail
Heirloom mailx version 12.5 6/20/10.  Type ? for help.
"/var/mail/root": 1 message 1 new
>N  1 no-reply@mail.quanlei Mon Jun  4 13:05   16/645  ***
?

配置Maildir格式存储邮件,在/etc/postfix/main.cf中加入

1
2
home_mailbox = Maildir/
mailbox_command =

最后重启下Postfix:

1
/etc/init.d/postfix restart

ps: 发送邮件的默认端口是25,收信端口是110,两个端口需要在防火墙中开放,否则会出现发不出去,收不到的情况。

配置DKIM

通过上面的配置,发送邮件和接收邮件已经OK了,为了防止邮件被判定为垃圾邮件,可以给邮件系统增加DKIM(DomainKeys Identified Mail)功能,其主要的原理通俗的说,就是在发送邮件的时候通过私钥在邮件头写一段加密信息,然后公钥放到DNS服务器上,邮件的接收方通过邮件头的加密信息来和DNS上的公钥比对来判定邮件来源是否合法。

1
apt-get install opendkim

安装完成后,输入如下命令,会在当前目录下生成公钥和私钥两个文件:default.private 和 default.txt

1
opendkim-genkey -r -d mail.quanlei.com

default.txt 里面的内容类似如下:

1
default._domainkey IN TXT "v=DKIM1;=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDbJarHD2SlFuWVu3UAu//MyrHuGq+C53tJI9O2R5hdM8cknX4aH3QLzYEimcTBzKEfC+OoayJPMgPOgqQCEGPqD3o6mz1FDVxPRhDZg+5ghqmgPB4MlgQAxsoiutwuwb9k5+RtRsPonGjJyKU+cKMk7nD7gG5Y3w5Vky2n+h0wdwIDAQAB" ; ----- DKIM default for mail.quanlei.com

在你的域名管理界面,添加一条txt记录,把公钥放在域名上:
主机记录 = default._domainkey.mail.quanlei.com
记录类型 = txt

记录值中的内容,是从default.txt提取的,如下内容:

1
v=DKIM1;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDbJarHD2SlFuWVu3UAu//MyrHuGq+C53tJI9O2R5hdM8cknX4aH3QLzYEimcTBzKEfC+OoayJPMgPOgqQCEGPqD3o6mz1FDVxPRhDZg+5ghqmgPB4MlgQAxsoiutwuwb9k5+RtRsPonGjJyKU+cKMk7nD7gG5Y3w5Vky2n+h0wdwIDAQAB

把私钥放到想要的位置,比如/var/db/dkim/
在opendkim.conf文件中,由KeyFile参数指定上面的私钥位置,配置如下:

01
02
03
04
05
06
07
08
09
10
11
12
13
# Log to syslog
Syslog                  yes
# Required to use local socket with MTAs that access the socket as a non-
# privileged user (e.g. Postfix)
UMask                   002
# Sign for example.com with key in /etc/mail/dkim.key using
# selector ‘2007‘ (e.g. 2007._domainkey.example.com)
Domain                  mail.licaibaogao.com
KeyFile                 /var/db/dkim/default.private
Selector                default
Canonicalization        relaxed/simple
X-Header yes
Socket inet:9999@localhost

DKIM配置完成,再修改Postfix中的配置,在发信的时候启用加密功能。
在 /etc/postfix/main.cf 中加入如下内容:

1
2
3
4
smtpd_milters= inet:localhost:9999
milter_default_action = accept
milter_protocol = 2
non_smtpd_milters = inet:localhost:9999

重启opendkim和Postfix即可。

然后验证吧:http://dkimcore.org/tools/
Check a published DKIM Core Key:
Selector:default
Domain name:mail.quanlei.com

接着再发邮件到gmail和hotmail中查看dkim是否有签名。

站长资讯网
. TAG: ubuntu postfix DKIM
推荐内容最近更新人气排行
关于我们 | 友情链接 | 网址推荐 | 常用资讯 | 网站地图 | RSS | 留言