54432 发表于 2014-6-27 16:33:52

postfix邮件服务器搭建

项目环境:一台server ip:192.168.1.100一台mail ip:192.168.1.200    一台win7 ip:192.168.1.222项目需求:1:在DNS Master上搭建DNS,能够解析mail.sw.com2:在Mail Server上部署邮件服务器,和webmail软件3:在Win7上用网页浏览测试实现步骤:1:在DNS服务器的正向解析数据库文件中添加MX记录# vim sw.com.zone
1
2
3
4
5
6
7
8
9
10
11
$TTL    86400
@               IN SOAsw.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





# service named restart2:在mail服务器上安装postfix程序,启动服务,设置为开机启动,备份主配置文件# yum -y install postfix# service postfix start# chkconfig postfix on# netstat -anptul | grep :25                                          //查看25端口被哪个邮件程序监听tcp    0   0 127.0.0.1:25   0.0.0.0:*   LISTEN    4653/master            //正被postfix的master监听# cd /etc/postfix/                                                      # postconf -n > mail.txt                                    //把postfix当前配置导出为简化版                        # cpmain.cf main.cf.bak                              //备份原配置文件# mv mail.txt main.cf                                    //用导出的简化配置替换原主文件                                  3:安装sasl认证服务,启动服务并设为开机启动,然后生成认证配置文件# yum install cyrus-sasl# service saslauthd start# chkconfig saslauthd on# cp /usr/lib64/sasl2/smtp.conf /etc/sasl2/smtpd.conf   //从模板拷贝生成配置文件,然后生效# service saslauthd restart4:配置主配置文件# 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 =    //收件人过滤,下两行顶格有空格表示和本行其实是一行
29permit_mynetworks,permit_sasl_authenticated,   //允许mynetworks和通过sasl认证的用户
31reject_unauth_destination                      //拒绝向未授权的目标域发信





# service postfix restart5:安装收信服务, 启动服务并设为开机启动# yum -y install dovecot# service dovecot start# chkconfig dovecot on6:安装webmail软件,编辑配置文件# yum -y install squirrelmail# 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';       //发信服务器地址
...





# service httpd start# chkconfig httpd on7:在win7上用网页测试





总结:postfix是目前linux上开源比较好用的邮件服务器,但默认情况下允许所有转发,很容易当成垃圾邮件的中转。本项目为了杜绝此现象,在邮件服务器上利用sasl程序做了本地用户认证控制,只允许经过服务器认证后的用户往外域发送邮件。排错:1:linux默认25端口会被sendmail等其他邮件程序占用,请netstat看看当前25端口被哪个程序使用         2:导出postfix简化配置时先要执行postfix -n > 文件然后在备份原配置文件,要不然导出失败         3:注意拼写检查,Maildir/ 是M大写,小写不生效
页: [1]
查看完整版本: postfix邮件服务器搭建