物理机一台:
系统环境:Redhat Enterprise Linux 7
ip:172.25.254.36
yum:配置的本机通过Apache服务挂载的rhel7镜像
#baseurl=http://172.25.254.36/rhel7
虚拟机两台:
VM1:
系统环境:Redhat Enterprise Linux 7
hostname:mail1.example.com
domain:m1.com
ip:172.25.254.136
yum:配置的物理机通过Apache服务挂载的rhel7镜像
#baseurl=http://172.25.254.36/rhel7
VM2:
系统环境:Redhat Enterprise Linux 7
hostname:mail1.example.com
domain:m2.com
ip:172.25.254.236
yum:配置的物理机通过Apache服务挂载的rhel7镜像
#baseurl=http://172.25.254.36/rhel7
关于邮件服务的一些概念性知识,请查看本人上传的文档,接下来我们直接模拟配置:
详细配置请参考DNS高速缓存以及DDNS动态域名服务的配置,本文只做简单需求性配置
安装DNS服务器
[root@mail1 ~]# [root@mail1 ~]# yum install bind.x86_64 -y
修改主配置文件
[root@mail1 ~]# vim /etc/named.conf
请根据实际情况修改listen-on port 53所在行大括号内内容,以及allow-query所在行大括号中内容
修改域配置指向文件
[root@mail1 ~]# vim /etc/named.rfc1912.zones
#主要添加内容如下,为你的各个域配置以及解析文件指向
vim /etc/named.rfc1912.zones
zone "m1.com" IN {
type master;
file "m1.com.zone";
allow-update { none; };
};
zone "m2.com" IN {
type master;
file "m2.com.zone";
allow-update { none; };
};
#添加各域所指向的解析文件并且做相应配置(首先复制并且修改m1.com指向文件)
[root@mail1 ~]# cd /var/named/
[root@mail1 named]# cp -p named.localhost m1.com.zone
[root@mail1 named]# vim /var/named/m1.com.zone
#修改后内容类似以下:
$TTL 1D
@ IN SOA dns.m1.com. root.m1.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.m1.com.
dns A 172.25.254.136
m1.com. MX 1 172.25.254.136.
#然后将m1.com.zone作为模板文件复制一份命名m2.com.zone,并且修改相应域解析:
[root@mail1 named]# cp m1.com.zone m2.com.zone -p
[root@mail1 named]# vim m2.com.zone
#修改后内容类似以下:
[root@mail1 named]# vim /etc/resolv.conf
[root@mail1 named]# systemctl restart named
[root@mail1 named]# dig -t mx m2.com
修改本机DNS指向(为DNS服务所在主机ip)
[root@mail1 named]# vim /etc/resolv.conf
[root@mail1 named]# dig -t mx m1.com
搜索并安装Postfix软件(本人系统已装过,只做步骤演示)
修改Postfix的主配置文件:
vim /etc/postfix/main.cf
75 myhostname = mail-server1.halo.com
#修改主机名
76 mydomain = m111.com ####
#修改域名
98 #myorigin = $myhostname
99 myorigin = $mydomain ####
#修改接受邮件信息起始信息
113 inet_interfaces = all
#修改接口为所有
114 #inet_interfaces = $myhostname
115 #inet_interfaces = $myhostname, localhost
116 #inet_interfaces = localhost
#关闭仅localhost接口模式
117
118 # Enable IPv4, and IPv6 if supported
119 inet_protocols = all
164 mydestination = $myhostname, $mydomain, localhost
#修改邮件到达目的名称
[root@mail1 named]# yum install dovecot -y
[root@mail1 named]# vim /etc/dovecot/dovecot.conf
23 # Protocols we want to be serving.
24 protocols = imap pop3 lmtp
#邮件协议
47 # these networks. Typically you'd specify your IMAP proxy servers here.
48 login_trusted_networks = 0.0.0.0/0
#配置可信任网络
49 disable_plaintext_auth = no
#开启文本认证
[root@mail1 named]# vim /ec/dovecot/conf.d/10-mail
29 #修改添加邮件存储地址
30 mail_location = mbox:~/mail:INBOX=/var/mail/%u
对于已经创建的用户需要在其家目录中创建/mail/.imap/INBOX文件
对于后面创建的用户可以在/etc/skel/目录中创建这些目录以及文件,这样的话后面创建的用户就会自动在其家目录中创建这些目录和文件
下面演示在骨架目录中创建邮件存储地址使得新建用户能够自动在其家目录中创建这些目录或者文件:
[root@mail1 named]# cd /etc/skel/
[root@mail1 skel]# ls
[root@mail1 skel]# mkdir mail/.imap -p
[root@mail1 skel]# cd mail/.imap/
[root@mail1 .imap]# ls
[root@mail1 .imap]# touch INBOX
基本配置结束,请关闭防火墙并且重启各试验机相应服务使得配置生效:
[root@mail2 ~]# systemctl restart postfix.service
[root@mail2 ~]# systemctl restart dovecot
两台主机互发邮件:
#mail2 主机发邮件给 mail1主机的halo1(新建用户并设定密码)用户
[root@mail2 .imap]# mail [email protected]
Subject: hi
hi
hi
halo1
.
EOT
[root@mail2 .imap]# mailq
Mail queue is empty
#mail1 主机发邮件给 mail2主机的halo2(新建用户并设定密码)用户
[root@mail1 .imap]# mail [email protected]
Subject: hello
hello
hello
halo2
.
EOT
[root@mail1 .imap]# mailq
Mail queue is empty
如果系统中没有安装telnet,首先安装此软件:
yum install telnet -y
然后使用telnet进行邮件的发送测试(模拟mail1主机root用户发邮件给m2主机halo2用户):
发送结果:
如果系统中没有安装telnet,首先安装此软件:
yum install mutt -y
通过物理机远程查看mail2主机的halo2用户的邮件
[root@foundation iso]# mutt -f pop://[email protected]
首先下载安装包thunderbird-x-1.el7.x86_64.rpm
安装:
[root@foundation ~]# rpm -ivh thunderbird-x-1.el7.x86_64.rpm
打开邮件客户端:
[root@foundation ~]# thunderbird
添加账户以及邮件服务器认证
点击上图continue,填写邮件服务相关信息然后Re-test
勾选I understand the risk然后点击Done
ok,可以查看添加账户的邮件信息了: