邮件服务器是一种用来负责电子邮件收发管理的设备。它比网络上的免费邮箱更安全和高效,因此一直是企业公司的必备设备。


本次实验是由DNS、postfix、dovecot服务共同组建成为邮件服务器

实验准备

  • linux虚拟机(Red Hat Enterprise 6.5)
  • 主机IP192.168.175.101

实验开始

搭建邮箱地址解析(DNS)服务

DNS服务如何搭建,我在之前的文章中有过介绍,本篇中就简单介绍。 rpm安装named软件

  1. 主配置文件中修改监听地址和允许解析的主机地址
  2. 区域配置文件中,设置服务器名称及区域数据配置文件名称(配置在正向解析区域)
  3. 复制模板,修改配置文件,文件复制时,需要注意的是要保留文件的属组、属主。(cp -p)
  4. 指定DNS地址
echo "nameserver 192.168.175.101" >> /etc/resolv.conf

启动服务并测试解析结果

service named start      //启动dns服务

搭建postfix服务

rpm安装postfix软件 修改配置文件//etc/postfix/

inet_interfaces = all                                                    //监听服务的IP地址
#inet_interfaces = localhost                                      //注释掉这一行
myhostname =                                 //邮件服务器主机名
mydomain =                                             //邮件域名
myorigin = $mydomain                                             //发件人地址邮件域名
mydestination = $mydomain, $myhostname         //收件人地址邮件域名
home_mailbox = Maildir/                                          //邮件存放位置

重启服务

service postfix restart           //重启postfix'服务

搭建dovecot服务

rpm安装软件

rpm -ivh /mnt/Packages/dovecot-2.0.9-7.el6.x86_64.rpm

修改配置文件/etc/dovecot/dovecot.conf

protocols = imap pop3 lmtp   //开启协议

login_trusted_networks = 192.168.175.0/24  //指定服务器所在网段

修改配置文件/etc/dovecot/conf.d/10-mail.conf,开启邮箱位置及格式

mail_location = maildir:~/Maildir   //去掉行首#即可

收发邮件测试

发送邮件

接收邮件

shell脚本快速搭建邮箱服务器

系统不同脚本编写也不尽相同,仅供参考


#!/bin/bash #提供邮件服务 #搭建DNS服务 #安装软件 rpm -ivh /mnt/Packages/bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm #配置主配置文件 sed -i 's/127.0.0.1/any/' /etc/named.conf sed -i 's/localhost;/any;/' /etc/named.conf echo "主配置文件修改成功" #配置区域配置文件 sed -i '24c zone "" IN {\ntype master;\nfile ".zone";\nallow-update { none; };\n};' /etc/named.rfc1912.zones echo "区域配置文件修改成功" #配置区域数据配置文件 cp -p /var/named/named.localhost /var/named/.zone sed -i 's/@ rname.invalid./. admin../' /var/named/.zone sed -i 's/127.0.0.1/192.168.175.101/' /var/named/.zone sed -i '10c IN MX 5 .\nmail IN A 192.168.175.101' /var/named/.zone echo "区域数据配置文件修改成功" #关闭防火墙及selinux防火墙 service iptables stop setenforce 0 #启动服务 service named start echo "nameserver 192.168.175.101" >> /etc/resolv.conf host #修改postfix配置文件 sed -i 's/#inet_interfaces = all/inet_interfaces = all/' /etc/postfix/ sed -i 's/inet_interfaces = localhost/#inet_interfaces = localhost/' /etc/postfix/ sed -i 's/#myhostname = host.domain.tld/myhostname = /' /etc/postfix/ sed -i 's/#mydomain = domain.tld/mydomain = /' /etc/postfix/ sed -i 's/#myorigin = $myhostname/myorigin = $mydomain/' /etc/postfix/ sed -i 's/mydestination = $myhostname, localhost.$mydomain, localhost/mydestination = $mydomain, $myhostname/' /etc/postfix/ sed -i 's/#home_mailbox = Maildir/home_mailbox = Maildir/' /etc/postfix/ echo "配置文件修改完成" service postfix restart echo "服务启动完成" #安装dovecot软件 rpm -ivh /mnt/Packages/dovecot-2.0.9-7.el6.x86_64.rpm #修改dovecot.conf配置文件 sed -i "20c protocols = imap pop3 lmtp" /etc/dovecot/dovecot.conf sed -i "38c login_trusted_networks = 192.168.175.0/24" /etc/dovecot/dovecot.conf echo "dovecot.conf配置文件修改完成" sed -i "24c mail_location = maildir:~/Maildir" /etc/dovecot/conf.d/10-mail.conf echo "10-mail.conf修改完成" service dovecot start #创建测试用账号 groupadd mailusers useradd -g mailusers -s /sbin/nologin zhangsan echo "123123" | passwd --stdin zhangsan useradd -g mailusers -s /sbin/nologin lisi echo "123123" | passwd --stdin lisi echo "测试账号zhangsan,lisi创建完成"