一、基础环境准备
1、端口开放
邮件服务需要使用25(SMTP服务,用于发送邮件),110(pop3服务,用于接收邮件)143(imap服务,用于接收邮件)端口,需要在防火墙中放行这三个端口,如果不考虑安全问题,可直接将防火墙关闭并关闭selinux
systemctl stop firewalld
systemctl disabled firewalld
vim /etc/selinux/config
2、修改主机名
将主机名修改为邮件服务器域名,如:mail.
hostnamectl set-hostname mail.
二、DNS服务
(1)安装DNS服务
yum -y install bind
(2)编辑DNS主配置文件
vim /etc/named.conf
设置监听本机IP,并配置允许任何人访问
(3)编辑子配置文件
vim /etc/named.rfc1912.zones
在最后添加一个正向和一个反向解析区域
zone "" IN {
type master;
file ".zone";
};
zone "137.168.192.in-addr.arpa" {
type master;
file ".local";
};
systemctl restart named
(4)指定区域配置文件
进入DNS服务器区域配置文件目录
cd /var/named
复制模板区域配置文件为指定区域配置文件,一定要保留源文件权限,如果未保留,须将属组改为named
cp -p named.localhost .zone
cp -p named.localhost .local
(5)编辑正向区域配置文件
vim .zone
(6)编辑反向区域配置文件
vim .local
(7)启动DNS域名解析服务器
systemctl start named
systemctl enable named #开机自启
(8)测试DNS能否解析成功
安装nslookup命令
yum -y install bind-utils
(9)将本机的DNS指向自己的DNS服务器
vim /etc/resolv.conf
(10)解析邮件服务器地址
nslookup mail.
显示如下则表示解析成功
三、Postfix服务
(1)安装Postfix
一般CentOS7以上的系统默认自带Postfix
我们直接检查自带的Postfix是否支持cyrus dovecot功能,如果不支持,需重新安装更高的版本
postconf -a
(2)编辑Postfix配置文件
分别查找并修改对应的配置项
vim /etc/postfix/
myhostname = mail. #本机主机名
mydomain = #服务器域名
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. 25
输入如下命令测试
helo mail. #声明本机主机名
mail from:john@ #声明发件人地址
rcpt to:jack@ #声明收件人地址
data #写正文
Welcome to China!
. #以“.”结尾
quit #退出
查看jack收邮件的目录是否接收到了邮件
cd /home/jack/Maildir/new/
(4)给公网邮箱发送邮件测试
安装mailx服务
yum -y install mailx
依次输入如下内容测试
mail xxxx@ #收件人
Subject:xxxx #邮件内容
xxxx #邮件内容
. #结束并发送
登录收件人的邮箱即可看到刚刚发送的邮件,如果未找到,可能邮件进了垃圾箱