一、基础环境准备
1、端口开放

邮件服务需要使用25(SMTP服务,用于发送邮件),110(pop3服务,用于接收邮件)143(imap服务,用于接收邮件)端口,需要在防火墙中放行这三个端口,如果不考虑安全问题,可直接将防火墙关闭并关闭selinux

systemctl stop firewalld
systemctl disabled firewalld
vim /etc/selinux/config

Centos7搭建邮件系统 centos搭建邮件服务器_Centos7搭建邮件系统

2、修改主机名

将主机名修改为邮件服务器域名,如:mail.testmail.com

hostnamectl set-hostname mail.testmail.com
二、DNS服务
(1)安装DNS服务
yum -y install bind
(2)编辑DNS主配置文件
vim /etc/named.conf

设置监听本机IP,并配置允许任何人访问

Centos7搭建邮件系统 centos搭建邮件服务器_sendmail_02

(3)编辑子配置文件
vim /etc/named.rfc1912.zones

在最后添加一个正向和一个反向解析区域

zone "testmail.com" IN {
        type master;
        file "testmail.com.zone";
};
zone "137.168.192.in-addr.arpa" {
        type master;
        file "testmail.com.local";
};

systemctl restart named

(4)指定区域配置文件

进入DNS服务器区域配置文件目录

cd /var/named

Centos7搭建邮件系统 centos搭建邮件服务器_postfix_03


复制模板区域配置文件为指定区域配置文件,一定要保留源文件权限,如果未保留,须将属组改为named

cp -p named.localhost testmail.com.zone
cp -p named.localhost testmail.com.local

Centos7搭建邮件系统 centos搭建邮件服务器_邮件服务器_04

(5)编辑正向区域配置文件
vim testmail.com.zone

Centos7搭建邮件系统 centos搭建邮件服务器_dns_05

(6)编辑反向区域配置文件
vim testmail.com.local

Centos7搭建邮件系统 centos搭建邮件服务器_dns_06

(7)启动DNS域名解析服务器
systemctl start named
systemctl enable named	#开机自启

(8)测试DNS能否解析成功

安装nslookup命令

yum -y install bind-utils
(9)将本机的DNS指向自己的DNS服务器
vim /etc/resolv.conf

Centos7搭建邮件系统 centos搭建邮件服务器_邮件服务器_07

(10)解析邮件服务器地址
nslookup mail.testmail.com

显示如下则表示解析成功

Centos7搭建邮件系统 centos搭建邮件服务器_邮件服务器_08

三、Postfix服务
(1)安装Postfix

一般CentOS7以上的系统默认自带Postfix

Centos7搭建邮件系统 centos搭建邮件服务器_sendmail_09


我们直接检查自带的Postfix是否支持cyrus dovecot功能,如果不支持,需重新安装更高的版本

postconf -a

Centos7搭建邮件系统 centos搭建邮件服务器_Centos7搭建邮件系统_10

(2)编辑Postfix配置文件

分别查找并修改对应的配置项

vim /etc/postfix/main.cf
myhostname = mail.testmail.com					#本机主机名
mydomain = testmail.com							#服务器域名
myorigin = $mydomain							#初始域名
inet_interfaces = 192.168.137.111,127.0.0.1		#监听接口
inet_protocols = ipv4							#监听网络版本,可以不修改
mydestination = $myhostname,$mydomai			#目标域
home_mailbox = Maildir/							#邮件目录,在用户的主目录,如/home/jack/Maildir/new/

检查配置文件是否有语法错误,如没有报错提示则正常

postfix check
(3)启动Postfix
systemctl start postfix
systemctl enable postfix	#开机自启
四、简单收发信测试
(1)添加邮件账号组
groupadd mailusers
(2)添加两个测试邮件服务账号(john,jack)
useradd -g mailusers -s /sbin/nologin john
passwd john
useradd -g mailusers -s /sbin/nologin jack
passwd jack
(3)远程登录25端口测试

如报错连接不上,重启postfix即可

telnet mail.testmail.com 25

Centos7搭建邮件系统 centos搭建邮件服务器_邮件服务器_11


输入如下命令测试

helo mail.testmail.com		#声明本机主机名
mail from:john@testmail.com	#声明发件人地址
rcpt to:jack@testmail.com		#声明收件人地址
data					#写正文
Welcome to China!
.						#以“.”结尾
quit					#退出

Centos7搭建邮件系统 centos搭建邮件服务器_sendmail_12


查看jack收邮件的目录是否接收到了邮件

cd /home/jack/Maildir/new/

Centos7搭建邮件系统 centos搭建邮件服务器_邮件服务器_13


Centos7搭建邮件系统 centos搭建邮件服务器_dns_14


(4)给公网邮箱发送邮件测试

安装mailx服务

yum -y install mailx

依次输入如下内容测试

mail xxxx@xx.com	#收件人
Subject:xxxx		#邮件内容
xxxx				#邮件内容
.					#结束并发送

Centos7搭建邮件系统 centos搭建邮件服务器_邮件服务器_15


登录收件人的邮箱即可看到刚刚发送的邮件,如果未找到,可能邮件进了垃圾箱

Centos7搭建邮件系统 centos搭建邮件服务器_dns_16