Ubuntu系统安装并配置DKIM,SPR,SMTP等服务
思韵闪耀
2013-03-18
0

检查IP信用度

在自建邮件服务器之前,先检查下你所要使用的IP的信用度如何?如果你的IP已经在垃圾邮件联盟的黑名单里面,那么建议别用了,因为被当做垃圾邮件的概率会非常高。

可以点下面的链接查看:

http://cbl.abuseat.org/lookup.cgi

http://www.spamhaus.org/query/bl?ip=8.8.8.8

http://anti-spam.org.cn/

添加MX记录

比如我的域名是:quanlei.com, 我配置的邮件服务器是 mail.quanlei.com

那么你就需要在域名管理界面添加一条MX记录,key=quanlei.com, value=mail.quanlei.com

host -t mx quanlei.com

返回如下类似结果,表面MX生效:

quanlei.com mail is handled by 10 mail.quanlei.com.

安装Postfix

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

apt-get install postfix

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

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

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

/etc/postfix/main.cf

给邮件服务器添加域名:

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

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

apt-get install heirloom-mailx

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

echo "test" | mail coolbee2002@163.com

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

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中加入

home_mailbox = Maildir/
mailbox_command =

最后重启下Postfix:

/etc/init.d/postfix restart

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

配置DKIM

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

apt-get install opendkim

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

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

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

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提取的,如下内容:

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

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

# 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 中加入如下内容:

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是否有签名。

配置SPR

除了DKIM,还可以在DNS上增加SPF配置来提高邮件发送成功的几率,添加一条txt记录:

主机记录 = mail
记录类型 = txt
记录值 = “v=spf1 ip4:8.8.8.8 ~all” (不包含引号,其中的IP换成自己的IP)

验证是否配置成功:

dig -t txt mail.quanlei.com
; QUESTION SECTION:
;mail.quanlei.com. IN TXT
;; ANSWER SECTION:
mail.quanlei.com. 300 IN TXT "v=spf1 ip4:8.8.8.8 ~all"

配置SMTP

安装必要组件:

apt-get install libsasl2 sasl2-bin libsasl2-modules

修改/etc/postfix/main.cf文件,在末尾加入以下内容:

smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
broken_sasl_auth_clients = yes

修改/etc/default/saslauthd:

START=yes
PWDIR="/var/spool/postfix/var/run/saslauthd"
PARAMS="-m ${PWDIR} -r"
PIDFILE="${PWDIR}/saslauthd.pid"
MECHANISMS="pam"
OPTIONS="-c -m ${PWDIR}"

最后运行:

mkdir -p /var/spool/postfix/var/run/saslauthd
echo 'pwcheck_method: saslauthd' >> /etc/postfix/sasl/smtpd.conf
echo 'mech_list: plain login' >> /etc/postfix/sasl/smtpd.conf

配置PTR(反向解析)

这个需要联系IP提供商来设置反向

–EOF–

说明:本文是参考网上的配置,结合自己实际配置过程中的情况,整理的一份文档。


【版权声明】
本站部分内容来源于互联网,本站不拥有所有权,不承担相关法律责任。如果发现本站有侵权的内容,欢迎发送邮件至masing@13sy.com 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

相关内容

将IIS设置克隆到新服务器...
将IIS设置克隆到新服务器的最佳方法是使用IIS配置文件。以下是详...
2025-06-06
搭建Git服务器及本机克隆...
Git是什么?Git是目前世界上最先进的分布式版本控制系统。SVN...
2025-03-17
ubuntu环境下搭建gi...
操作环境:服务器:Ubuntu 24.04.2 LTS+git 2...
2025-03-17
Ubuntu防火墙ufw的...
一、不使用IPv6打开UFW配置。sudo vim /e...
2024-12-28
ubuntu配置DNS
ubuntu配置DNS在Ubuntu中配置DNS通常涉及编辑/et...
2024-11-17
ubuntu防火墙命令介绍
ubuntu在开启ufw防火墙前,为了避免与iptables现有规...
2024-07-21

热门资讯

Exchange 2013/2... Exchange 2013/2016/2019邮件大小限制 可以在三个位置上配置Exchange上的...
SMTP 发送邮件错误码和解决... SMTP错误码/建议解决方法 错误总表 420 1. Timeout Communication P...
Exchange 2013 O... 最近在Exchange 2013环境中,遇到OWA/ECP无法访问的问题;用户是可以正常通过...
Roundcube 配置过各提... Fileinfo/mime_content_type configuration: OK Mimet...
彻底卸载Exchange Se... 一般来说,我们安装完Exchange Server 2016之后,可以通过正常卸载程序来进行卸载,但...
Exchange 2013批量... 一批量删除特定主题的邮件 1.1批量删除所有数据库中特定主题的邮件 1)群发了几封主题为backup...
快速查看已安装Exchange... Exchange 2010的版本号在Exchange管理控制台(EMC)显示的,好像不准确了。比如,...
在 Exchange 2016... 用户邮箱是与人员关联的 Exchange 邮箱,通常为每人一个邮箱。每个用户邮箱都有一个关联的 Ac...
exchange2013域名(... 需要对 接受的域 和 电子邮件地址策略进行配置: 首先外网域名要做解析和增加mx记录,这里就不具体说...
如何为AD 添加多个UPN后缀 今天我在群里看到有群友在问User principal name (UPN)多后缀的问题,我在这里就...