环境:
系统:centos7.6
内网ip:172.16.0.3
---------------------------------------------初始配置-------------------------------------------------------------
1.修改主机名
将主机名更改为邮件服务器域名mail.test.com
vi /etc/hostname
2.关闭防火墙并禁止开机启动
systemctl stop firewalld systemctl disable firewalld
3.关闭selinux,将未注释的SELINUX行的值改为disabled
vi /etc/sysconfig/selinux
---------------------------------------------搭建DNS环境域名解析,用于解析postfix地址-------------------------------------------------------------
4.安装DNS服务器
yum install -y bind
5.修改配置文件
修改DNS主配置文件
vi /etc/named.conf
listen-on port 53 { 172.16.0.3; }; allow-query { any; };
修改子配置文件
vi /etc/named.rfc1912.zones
在最后添加一个正向和一个反向解析区域
zone "test.com" IN { type master; file "test.com.zone"; }; zone "0.16.172.in-addr.arpa" { type master; file "test.com.local"; };
进入DNS服务器区域配置文件目录,复制模板区域配置文件为指定区域配置文件。注:一定要保留源文件权限,如果未保留,须将属组改为named。
cd /var/named/ cp -p named.localhost test.com.zone cp -p named.localhost test.com.local
编辑正向区域配置文件,修改并添加以下行
vi test.com.zone
NS @ A 172.16.0.3 MX 10 mail.test.com mail A 172.16.0.3 AAAA ::1
编辑反向区域配置文件,修改并添加以下行
vi test.com.local
NS @ A 172.16.0.3 MX 10 mail.test.com 3 PTR mail.test.com AAAA ::1
重新启动DNS域名解析服务器
systemctl restart named
安装nslookup命令测试dns能否解析成功
yum install -y bind-utils
给本机的DNS增加一个指向自己的dns服务器
vi /etc/resolv.conf
nameserver 172.16.0.3
解析邮件服务器地址,显示如下则表示成功
nslookup mail.test.com
Server: 183.60.83.19 Address: 183.60.83.19#53 Non-authoritative answer: Name: mail.test.com Address: 69.172.200.109
---------------------------------------------安装postfix服务器并进行配置-------------------------------------------------------------
检查系统是否已经安装了postfix服务器
rpm -q postfix
如果没有安装,安装了就跳过
yum install postfix -y
编辑postfix的配置文件,查找并修改对应配置项
vi /etc/postfix/main.cf
主要需要修改一下这些配置项
myhostname = mail.test.com //本机主机名 mydomain = test.com //服务器域名 myorigin = $mydomain //初始域名 inet_interfaces = all //监听接口 inet_protocols = all //监听网络版本,可以不改 mydestination = $myhostname, $mydomain //目标域 home_mailbox = Maildir/ //邮件目录,在用户家目录下
检查配置文件是否有语法错误
postfix check
查看postfix非默认配置
postconf -n
重新启动postfix服务器
systemctl restart postfix
---------------------------------------------邮件服务器简单发信测试-------------------------------------------------------------
添加邮件账号组
groupadd mailusers
添加邮箱账号
useradd -g mailusers -s /sbin/nologin jack passwd jack useradd -g mailusers -s /sbin/nologin tom passwd tom
安装远程登录插件,用于登录25端口测试
yum install -y telnet
远程登录25端口,如报错连接不上,重启postfix
telnet mail.test.com 25
如果输出以下内容表示登录成功
Trying ::1... Connected to mail.test.com. Escape character is '^]'. 220 mail.test.com ESMTP Postfix
输入以下内容用于测试
[root@mail ~]# telnet mail.test.com 25 Trying ::1... Connected to mail.test.com. Escape character is '^]'. 220 mail.test.com ESMTP Postfix helo mail.test.com 250 mail.test.com mail from:jack@test.com 250 2.1.0 Ok rcpt to:tom@test.com 250 2.1.5 Ok data 354 End data with <CR><LF>.<CR><LF> i am jack!! . 250 2.0.0 Ok: queued as A64EF604C7 quit 221 2.0.0 Bye Connection closed by foreign host.
以上内容解析
helo mail.aa.com //声明本机的主机名 mail from:jack@aa.com //声明发件人地址 rcpt to:tom@aa.com //声明收件人地址 data //写正文 i am jack!! . //以.结尾 quit // 退出
查看tom接收的邮件目录下的邮件
ls /home/tom/Maildir/new/
查看tom接收的邮件内容
cat /home/tom/Maildir/new/1586512307.Vfd01I101059M375553.mail.test.com
这个只能超级管理员查看接收的邮件内容