项目环境: 一台server ip:192.168.1.100 一台mail ip:192.168.1.200 一台win7 ip:192.168.1.222 项目需求: 1:在DNS Master上搭建DNS,能够解析mail.sw.com 2:在Mail Server上部署邮件服务器,和webmail软件 3:在Win7上用网页浏览测试 实现步骤: 1:在DNS服务器的正向解析数据库文件中添加MX记录 [iyunv@server named]# vim sw.com.zone 1
2
3
4
5
6
7
8
9
10
11
| $TTL 86400
@ IN SOA sw.com. root.sw.com. (
2014062602 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS server.sw.com.
IN MX 5 mail.sw.com.
server IN A 192.168.1.1
mail IN A 192.168.1.100
|
[iyunv@server named]# service named restart 2:在mail服务器上安装postfix程序,启动服务,设置为开机启动,备份主配置文件 [iyunv@mail ~]# yum -y install postfix [iyunv@mail ~]# service postfix start [iyunv@mail ~]# chkconfig postfix on [iyunv@mail ~]# netstat -anptul | grep :25 //查看25端口被哪个邮件程序监听 tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 4653/master //正被postfix的master监听 [iyunv@mail ~]# cd /etc/postfix/ [iyunv@mail postfix]# postconf -n > mail.txt //把postfix当前配置导出为简化版 [iyunv@mail postfix]# cp main.cf main.cf.bak //备份原配置文件 [iyunv@mail postfix]# mv mail.txt main.cf //用导出的简化配置替换原主文件 3:安装sasl认证服务,启动服务并设为开机启动,然后生成认证配置文件 [iyunv@mail ~]# yum install cyrus-sasl [iyunv@mail ~]# service saslauthd start [iyunv@mail ~]# chkconfig saslauthd on [iyunv@mail ~]# cp /usr/lib64/sasl2/smtp.conf /etc/sasl2/smtpd.conf //从模板拷贝生成配置文件,然后生效 [iyunv@mail ~]# service saslauthd restart 4:配置主配置文件 [iyunv@mail postfix]# vim main.cf
1
2
3
4
5
6
7
8
9
10
11
12
13
| ...
8 #inet_interfaces = localhost //注释掉监听本地端口
20 myhostname = mail.sw.com //邮件服务器主机名
21 mydomain = sw.com //邮件服务器所在区域
22 myorigin = $mydomain //指定发件人DNS后缀
23 mydestination = $mydomain //指定Postfix允许处理sw.com的邮件
24 home_mailbox = Maildir/ //邮箱类型为每用户每封邮件都单独存放在家目录的Maildir下
25 mynetworks = 127.0.0.1 //设置只允许本机转发到外部区域
26 smtpd_sasl_auth_enable = yes //启用SASL认证
27 smtpd_sasl_security_options = noanonymous //阻止匿名发信
28 smtpd_recipient_restrictions = //收件人过滤,下两行顶格有空格表示和本行其实是一行
29 permit_mynetworks,permit_sasl_authenticated, //允许mynetworks和通过sasl认证的用户
31 reject_unauth_destination //拒绝向未授权的目标域发信
|
[iyunv@mail ~]# service postfix restart 5:安装收信服务, 启动服务并设为开机启动 [iyunv@mail ~]# yum -y install dovecot [iyunv@mail ~]# service dovecot start [iyunv@mail ~]# chkconfig dovecot on 6:安装webmail软件,编辑配置文件 [iyunv@mail ~]# yum -y install squirrelmail [iyunv@mail ~]# vim /etc/squirrelmail/config.php 1
2
3
4
5
6
7
| ...
26 $squirrelmail_default_language = 'zh_CN'; //改成中文显示
28 $domain = 'sw.com'; //域名
29 $imapServerAddress = '192.168.1.100'; //收信服务器地址
...
32 $smtpServerAddress = '192.168.1.100'; //发信服务器地址
...
|
[iyunv@mail ~]# service httpd start [iyunv@mail ~]# chkconfig httpd on 7:在win7上用网页测试
总结:postfix是目前linux上开源比较好用的邮件服务器,但默认情况下允许所有转发,很容易当成垃圾邮件的中转。本项目为了杜绝此现象,在邮件服务器上利用sasl程序做了本地用户认证控制,只允许经过服务器认证后的用户往外域发送邮件。 排错:1:linux默认25端口会被sendmail等其他邮件程序占用,请netstat看看当前25端口被哪个程序使用 2:导出postfix简化配置时先要执行postfix -n > 文件 然后在备份原配置文件,要不然导出失败 3:注意拼写检查,Maildir/ 是M大写,小写不生效
|