一、关闭防火墙
# 关闭防火墙
systemctl stop firewalld
# 禁止防火墙开机自启动
systemctl disable firewalld
# 查看防火墙状态
systemctl status firewalld
将未注释的SELINUX行的值改为disabled
vim /etc/sysconfig/selinux
SELINUX=disabled
二、搭建DNS环境
1. 安装DNS服务器
# 安装DNS服务器
yum install -y bind
vim /etc/hostname
将主机名更改为邮件服务器域名 mail.test.com
vim /etc/named.conf
修改这两行的内容:
listen-on port 53 { any; };
allow-query { any; };
2. 修改子配置文件
vim /etc/named.rfc1912.zones
在结尾处添加一个正向和一个反向解析区域 (IP改为自己的IP地址)
zone "test.com" IN {
type master;
file "test.com.zone";
};
zone "1.168.192.in-addr.arpa" IN {
type master;
file "test.com.local";
};
3. 进入DNS服务器区域配置文件目录
cd /var/named/
# 复制模板区域配置文件为指定区域配置文件。保留源文件权限,确定属组为named
cp -p named.localhost test.com.zone
cp -p named.localhost test.com.local
4. 编辑正反向区域配置文件(在cd /var/named/目录中) (IP改为自己的IP地址)
vim test.com.zone
vim test.com.local
5. 启动DNS域名解析服务器
- 给本机的DNS指向自己的dns服务器
vim /etc/resolv.conf
nameserver 192.168.1.3
- 启动后测试
# 启动
systemctl start named
# 安装nslookup命令测试dns能否解析成功
yum install -y bind-utils
- 解析服务器地址测试
[root@mail named]
nslookup mail.test.com# 正向解析Server:192.168.1.3
Address:192.168.1.3#53
Name:mail.test.com
Address: 192.168.1.3
[root@mail named]
nslookup 192.168.1.3# 反向解析3.1.168.192.in-addr.arpa name = mail.test.com. # 成功
三、安装postfix服务进行收发件测试
一般Centos7是默认自动安装postfix服务器的。检查系统是否已经安装了postfix服务器,使用以下命令
[root@mail named] rpm -q postfix
postfix-2.10.1-6.el7.x86_64
检查postfix是否支持cyrus dovecot功能.
[root@mail named]postconf -a
cyrus
dovecot
1. postfix配置
vim /etc/postfix/main.cf
- 在配置文件中修改以下参数
myhostname = mail.test.com //本机主机名
mydomain = test.com //服务器域名
myorigin = $mydomain //初始域名
inet_interfaces = all //监听接口
inet_protocols = ipv4 //监听网络版本,可以不改
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
home_mailbox = Maildir/ //邮件目录,在用户家目录下
- 启动后设置用户和密码
请记住设置的密码
#检查配置文件是否有语法错误
[root@mail named] postfix check
# 启动postfix服务器
[root@mail named] systemctl start postfix
# 添加邮件账号组
groupadd mailusers
# 设置用户jack和tom
useradd -g mailusers -s /sbin/nologin jack
passwd jack
useradd -g mailusers -s /sbin/nologin tom
passwd tom
2. 邮件服务器发件测试
# 安装远程登录插件,用于登录25端口测试
yum install -y telnet
# 重启postfix服务
systemctl restart postfix
远程登录25端口,如报错连接不上,重启postfix
[root@mail ~]
telnet mail.test.com 25Trying 192.168.1.3...
Connected to mail.test.com.
Escape character is '^]'.
220 mail.test.com ESMTP Postfix
mail from:<root@test.com>250 2.1.0 Ok
rcpt to:jack250 2.1.5 Ok
data354 End data with <CR><LF>.<CR><LF>
Hello, this is a test mail.
.250 2.0.0 Ok: queued as 6B1E6801BBC
quit221 2.0.0 Bye
Connection closed by foreign host.
[root@mail ~]
tail /var/log/maillog|grep sent# 查看发送状态Dec 10 11:23:31 mail postfix/local[7136]: 6B1E6801BBC: to=jack@test.com, orig_to=, relay=local, delay=33, delays=33/0.01/0/0, dsn=2.0.0, status=sent (delivered to maildir)
3. 邮件服务器收件测试
# 在Mail服务器上安装配置Dovecot以接收邮件
yum install -y dovecot
- 修改这三个配置文件
vim /etc/dovecot/dovecot.conf
protocols = imap pop3 lmtp
listen = *, ::
vim /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = no
vim /etc/dovecot/conf.d/10-mail.conf
mail_location = maildir:~/Maildir
# 重启服务
systemctl restart dovecot
[root@mail ~]
telnet mail.test.com 110Trying 192.168.1.3...
Connected to mail.test.com.
Escape character is '^]'.
+OK Dovecot ready.
user jack+OK
pass admin# 这里格式为pass+密码,我前面设置的密码是admin,改为自己的密码。+OK Logged in.
list+OK 1 messages:
1 404
.
retr 1(输入邮件编号查看邮件,需要自行输入)+OK 404 octets
Return-Path: root@test.com
X-Original-To: jack
Delivered-To: jack@test.com
Received: from mail.test.com (mail.test.com [192.168.1.3])
by mail.test.com (Postfix) with SMTP id 6B1E6801BBC
for ; Tue, 10 Dec 2024 11:22:58 +0800 (CST)
Message-Id: 20241210032311.6B1E6801BBC@mail.test.com
Date: Tue, 10 Dec 2024 11:22:58 +0800 (CST)
From: root@test.com
Hello, this is a test mail.
.
quit+OK Logging out.
Connection closed by foreign host.