0%

搭建邮件服务器

1. 背景

这里介绍一下我在Centos 7上搭建邮件服务器的过程。
邮件服务器:mail.test.com

2. 系统环境

系统平台: CentOS 7
系统IP:192.168.66.214

关闭防火墙

1
2
systemctl stop firewalld
systemctl disable firewalld

3. 搭建过程

3.1 搭建dns服务器

3.1.1 安装bind软件包

1
2
3
4
5
6
7
yum -y install bind* # 安装所有的bind软件

systemctl start named.service # 启动DNS服务

systemctl enable named.service # 设置开机自启

netstat -anlp | grep named # 查看监听端口是否有53

3.1.2 修改配置

修改DNS服务的配置

1
vim /etc/named.conf

在上面的配置文件中我们只需要修改其中两行

1
2
3
4
5
...
listen-on port 53 { any; };
...
allow-query { any; };
...

添加域的信息到配置文件中

1
vim /etc/named.rfc1912.zones

/etc/named.rfc1912.zones文件最后添加如下内容,其中test.com就是我使用的域名,读者可以根据自己的需要修改和添加其他的域名。

1
2
3
4
5
zone "test.com" IN {
type master;
file "data/test.com.zone";
allow-update {none;};
};

编辑域的信息配置文件

1
vim /var/named/data/test.com.zone

在该文件中添加如下内容

1
2
3
4
5
6
7
8
9
10
11
12
13
$TTL 1D # 缓存时间
@ IN SOA test.com. root.test.com. (
20221119 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS dns.test.com. # DNS服务器的域名地址
dns.test.com. IN A 192.168.66.214 # DNS服务器的IP地址
@ IN MX 10 mail.test.com # 邮件服务器的域名地址
mail IN A 192.168.66.214 # 邮件服务器IP地址
www.test.com. IN A 192.168.66.214 # 域名为test.com的IP地址
ftp.test.com. IN A 192.168.66.213 # 域名为ftp的IP地址

配置好后重启DNS服务

1
systemctl restart named.service

到这里,DNS服务器的配置就完成,剩下的就是读者找一台测试机,将测试机的DNS服务器地址设置为本机,进行测试了,也可以使用dig直接测试

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
$ dig @192.168.66.214 mail.test.com

; <<>> DiG 9.18.8 <<>> @192.168.66.214 mail.test.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6549
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: a0bff6936e959483909dbf8e637aebda6155562a66504ec0 (good)
;; QUESTION SECTION:
;mail.test.com. IN A

;; ANSWER SECTION:
mail.test.com. 86400 IN A 192.168.66.214

;; AUTHORITY SECTION:
test.com. 86400 IN NS dns.test.com.

;; ADDITIONAL SECTION:
dns.test.com. 86400 IN A 192.168.66.214

;; Query time: 0 msec
;; SERVER: 192.168.66.214#53(192.168.66.214) (UDP)
;; WHEN: Mon Nov 21 11:09:14 CST 2022
;; MSG SIZE rcvd: 120

3.2 搭建邮件服务器

3.2.1 准备环境

配置服务器主机名称,需要保证服务器主机名称与发信域名保持一致

1
2
cat /etc/hostname # 查看本机的主机名
hostname # 查看本机的主机名

修改主机名为mail.test.com

1
2
hostnamectl set-hostname mail.test.com # 修改主机名
vim /etc/hosts # 将文件开头的 127.0.1.1 zhaiyu-pc 调整为 127.0.1.1 mail.test.com

添加用户

1
2
useradd -m test
passwd test # 设置密码

3.2.2 安装Postfix软件

1
yum install -y postfix

3.2.3 配置Postfix

1
vim /etc/postfix/main.cf

调整如下几行

1
2
3
4
5
6
7
8
9
10
11

myhostname = mail.test.com

mydomain = test.com

myorigin = $mydomain

inet_interfaces = all

mydestination = $myhostname , $mydomain

重启postfix服务

1
2
systemctl restart postfix
systemctl enable postfix

3.2.4 安装Dovecot服务

1
yum install -y dovecot

3.2.5 配置Dovecot

1
vim /etc/dovecot/dovecot.conf

修改如下几行:

1
2
3
protocols = imap pop3 lmtp

disable_plaintext_auth = no
1
vim /etc/dovecot/conf.d/10-mail.conf

修改如下几行:

1
2
# 设置邮件存储位置
mail_location = mbox:~/mail:INBOX=/var/mail/%u
1
2
3
su - test
mkdir -p mail/.imap/INBOX # 创建邮件存储位置
exit

重启dovecot服务

1
2
systemctl restart dovecot 
systemctl enable dovecot

4. 使用邮件客户端进行测试

这里使用了thunderbird软件进行测试

配置