Email邮件服务的搭建(postfix on rhel7.2)

基本环境配置

物理机一台:

系统环境: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

关于邮件服务的一些概念性知识,请查看本人上传的文档,接下来我们直接模拟配置:

邮件服务搭建

1. DNS服务的配置

详细配置请参考DNS高速缓存以及DDNS动态域名服务的配置,本文只做简单需求性配置

1.1 DNS Server Side Configuration(172.25.254.136)

安装DNS服务器

[root@mail1 ~]# [root@mail1 ~]# yum install bind.x86_64 -y

修改主配置文件

[root@mail1 ~]# vim /etc/named.conf 

请根据实际情况修改listen-on port 53所在行大括号内内容,以及allow-query所在行大括号中内容
Email邮件服务的搭建(postfix on rhel7.2)_第1张图片
修改域配置指向文件

[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; };
};

Email邮件服务的搭建(postfix on rhel7.2)_第2张图片

#添加各域所指向的解析文件并且做相应配置(首先复制并且修改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.

Email邮件服务的搭建(postfix on rhel7.2)_第3张图片

#然后将m1.com.zone作为模板文件复制一份命名m2.com.zone,并且修改相应域解析:

[root@mail1 named]# cp m1.com.zone m2.com.zone -p
[root@mail1 named]# vim m2.com.zone 
#修改后内容类似以下:

Email邮件服务的搭建(postfix on rhel7.2)_第4张图片
修改本机DNS指向

[root@mail1 named]# vim /etc/resolv.conf 

Email邮件服务的搭建(postfix on rhel7.2)_第5张图片
重启DNS服务进行测试

[root@mail1 named]# systemctl restart named
[root@mail1 named]# dig -t mx m2.com

Email邮件服务的搭建(postfix on rhel7.2)_第6张图片

1.2 Client Side Configuration(172.25.254.236)

修改本机DNS指向(为DNS服务所在主机ip)

[root@mail1 named]# vim /etc/resolv.conf 

Email邮件服务的搭建(postfix on rhel7.2)_第7张图片
测试

[root@mail1 named]# dig -t mx m1.com

Email邮件服务的搭建(postfix on rhel7.2)_第8张图片
进行到这里DNS服务就配置ok了!

2. Postfix 服务配置(两台虚拟机的配置基本类似,但是请修改各自对应的主机名和域名)

搜索并安装Postfix软件(本人系统已装过,只做步骤演示)
Email邮件服务的搭建(postfix on rhel7.2)_第9张图片
Email邮件服务的搭建(postfix on rhel7.2)_第10张图片
修改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 
#修改邮件到达目的名称

3. 配置dovecot邮件接收(两台虚拟机的配置基本类似)

[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

4. 关于邮件接受地址的问题(若无此目录或者文件,后面的邮件查看可能会出错)

对于已经创建的用户需要在其家目录中创建/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

基本配置结束,请关闭防火墙并且重启各试验机相应服务使得配置生效:
Email邮件服务的搭建(postfix on rhel7.2)_第11张图片

[root@mail2 ~]# systemctl restart postfix.service 
[root@mail2 ~]# systemctl restart dovecot

5. 测试基本服务搭建是否成功:

两台主机互发邮件:

#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

两台主机互查邮件:
mail2主机查看自己接收到的邮件:
Email邮件服务的搭建(postfix on rhel7.2)_第12张图片

mail1主机查看自己接收到的邮件:
Email邮件服务的搭建(postfix on rhel7.2)_第13张图片

6 . 远程发送邮件(telnet),在物理机中测试

如果系统中没有安装telnet,首先安装此软件:

yum install telnet -y

然后使用telnet进行邮件的发送测试(模拟mail1主机root用户发邮件给m2主机halo2用户):
Email邮件服务的搭建(postfix on rhel7.2)_第14张图片
发送结果:
Email邮件服务的搭建(postfix on rhel7.2)_第15张图片

7. 远程邮件接收查看(mutt工具),在物理机中测试:

如果系统中没有安装telnet,首先安装此软件:

yum install mutt -y

通过物理机远程查看mail2主机的halo2用户的邮件

[root@foundation iso]# mutt -f pop://[email protected]

Email邮件服务的搭建(postfix on rhel7.2)_第16张图片

8. 邮件收发客户端的安装使用(thunderbird)

首先下载安装包thunderbird-x-1.el7.x86_64.rpm
安装:

[root@foundation ~]# rpm -ivh thunderbird-x-1.el7.x86_64.rpm

打开邮件客户端:

[root@foundation ~]# thunderbird

添加账户以及邮件服务器认证
Email邮件服务的搭建(postfix on rhel7.2)_第17张图片
点击上图continue,填写邮件服务相关信息然后Re-test
Email邮件服务的搭建(postfix on rhel7.2)_第18张图片
勾选I understand the risk然后点击Done
Email邮件服务的搭建(postfix on rhel7.2)_第19张图片
ok,可以查看添加账户的邮件信息了:
Email邮件服务的搭建(postfix on rhel7.2)_第20张图片

你可能感兴趣的:(linux,运维开发,网络)