CentOS6.4下邮件服务器搭建
linux下邮件服务器的搭建大致分为三个步骤
- 准备工作(真实的生产环境下需要)
- 发送服务器安装及配置 (Postfix)
- 接收服务器安装及配置(dovecot)
一、 准备工作
1. 为邮件服务器添加DNS解析
虽然不加DNS解析也能把邮件发出去,但会被大多数邮件服务器当作垃圾邮件。根据我们的实际经验,需要添加三条DNS解析记录:A记录、MX记录、TXT记录
2. 准备存放邮件的硬盘空间
如果用的是阿里云入门级Linux服务器,有一块20G的数据盘未挂载,需要格式化并挂载
二、发送服务器安装及配置 (Postfix)
1、卸载Sendmail
查看当前服务器环境中是否已经安装了Sendmail 如果已经安装了 执行下面的命令进行卸载
yum -y remove sendmail
我使用的环境是CentOS6.4 默认没有安装sendmail
[[email protected] ~]# rpm -qa | grep sendmail
2、安装Postfix
查看当前服务器环境中是否已经安装了Postfix 如果没有安装了 执行下面的命令进行安装
yum -y install postfix*
我使用的环境是CentOS6.4 默认已经安装了Postfix
[[email protected] ~]# rpm -qa | grep postfix postfix-2.6.6-2.2.el6_1.i686
3、配置Postfix
[[email protected] ~]# vi /etc/postfix/main.cf
以下配置示例假设要配置的域名是cnblogs.info,邮件服务器主机名是mail.cnblogs.info
a) 修改myhostname
myhostname = mail.cnblogs.info
myhostname 参数即是我们的邮件伺服器的主机名称,是由英文字母或数字所组成,比如www.google.com或mail.google.com就是一个Hostname
b) 修改mydomain
mydomain = cnblogs.info
mydomain参数设定网域名称(Domain Name),主机名称通常都是在建立在网域名称之内,像是www.google.com则是网页服务,mail.google.com则会是邮件主机服务,通常网域名称都会是主机名称(Hostname)去掉第一个掉包含前面的文字部份,比如说www.google.com的Domain则是google.com
c) 修改myorigin
myorigin = $mydomain
myorigin是我们的邮件位址在”@”后面的文字内容,比如像是[email protected],medesky.me就是我们的Origin Name
d) 修改smtp监听端口
inet_interfaces = all
inet_interfaces 参数指定postfix系统监听的网络接口。Postfix预设只会监听来自于本机端的所传出的封包,必须使用上列设定,才可以传收所有来自于网路端的所有封包
e) 修改 inet_protocols
修改Postfix的通讯协定,目前网路的协定主流有IPv4与IPv6,在大部份的情况下,我们都是利用IPv4在通讯的,如果你的Mail Server没有需要使用到IPv6,可以做以下的设定修改
inet_protocols = ipv4
f) 修改mydestination
mydestination = $myhostname, $mydomain, localhost.$mydomain, localhost
mydestination参数设定能够接收信件的主机名称,Postfix预设只能收到设定的Hostname与Domain Name以及本机端的信件,此步骤是再增加能收信件的网路名称
g) 设定信任用户端
mynetworks = 127.0.0.0/8, 192.168.1.0/24, hash:/etc/postfix/access
mynetworks 参数设定信任的用户端,当要寄信时,会参考此值,若非信任的用户,则不会帮你的信件转到其它的MTA主机上
h) 设定relay_domain转发邮件域名
规范可以relay 的MTA 主机位址,通常这个都直接设为mydestination
relay_domains = $mydestination
i) 设定邮件别名的路径
检查” alias_maps”设定是否为以下字串设定
alias_maps = hash:/etc/aliases
j) 设定指定邮件别名表资料库路径
检查” alias_ database”设定是否为以下字串设定
alias_database = hash:/etc/aliases
k) 执行以下命令
用于设定邮件主机使用权限与过滤机制及邮件别名
# postmap hash:/etc/postfix/access # postalias hash:/etc/aliases
4、重启postfix使设置生效(使smtp服务的25号端口打开)
[[email protected] ~]# service postfix restart 关闭 postfix: [确定] 启动 postfix: [确定] [[email protected] ~]# netstat -anp | grep :25 tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 16331/master tcp 0 0 :::25 :::* LISTEN 16331/master
5、测试
a) 寄信测试
此时我们已经可以利用此台主机使用smtp收送电子邮件了, 利用mail指令来测试
[[email protected] ~]# mail [email protected] Subject: test test . EOT
b) 收信测试
当我们从内部或外部寄信过来时,预设的邮件存放位址如下:
/var/spool/mail(或/var/mail)
从此目录里查看帐号名称的档案,我们所收发的信件都会存在这里
也可以通过 mail -u 命令查看
[[email protected] ~]# mail -u root Heirloom Mail version 12.4 7/29/08. Type ? for help. "/var/mail/root": 1 message 1 new >N 1 root Sat Jun 15 12:48 18/561 "test" & 1 Message 1: From [email protected] Sat Jun 15 12:48:37 2013 Return-Path: <[email protected]> X-Original-To: [email protected] Delivered-To: [email protected] Date: Sat, 15 Jun 2013 12:48:36 +0800 To: [email protected] Subject: test User-Agent: Heirloom mailx 12.4 7/29/08 Content-Type: text/plain; charset=us-ascii From: [email protected] (root) Status: R test &
三、接收服务器安装及配置(dovecot)
1、安装dovecot
[[email protected] ~]# yum install -y dovecot*
2、配置dovecot
[[email protected] dovecot]# vi /etc/dovecot/dovecot.conf
a) 修改protocols支持pop3和imap
protocols = imap pop3
3) 启动dovecot服务并开启110、143端口
[[email protected] dovecot]# service dovecot restart 停止 Dovecot Imap: [失败] 正在启动 Dovecot Imap: [确定] [[email protected] dovecot]# netstat -anp | grep :110 tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 17607/dovecot [[email protected] dovecot]# netstat -anp | grep :143 tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 17607/dovecot