1. 服务器:VMware虚拟机1c1t+1g内存
2. linux系统:CentOS7.6
3. DNS+postfix+Dovecot
vim /etc/hostname
内容如下:
mail.zyj.com
systemctl stop firewalld
自行搭建部署dns服务器,为电子邮件服务器和客户端提供dns解析
yum install -y bind*
- 主配置文件:
/etc/named.conf
定义bind服务程序运行相关的参数- 区域配置文件:
/etc/named.rfc1912.zones
用于定义域名和IP地址对应关系的所在路径- 数据配置文件目录:
/var/named/
用于定义域名和IP地址真实对应关系的数据配置文件
listen-on
和allow-query
参数vim /etc/named.conf
更改内容如下:
options {
listen-on port 53 { any; }; ## any表示服务器上所有iP均可提供DNS域名解析
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; }; ## any表示允许所有人对本服务器发送dns查询请求
allow-transfer { key master-slave; };
vim /etc/named.rfc1912.zones
更改内容如下:
zone "zyj.com" IN { ##双引号内自定义域名
type master;
file "zyj.com.zone"; ##定义域名与IP解析规则文件位置
allow-update { none; };
};
cp -a /var/named/named.localhost /var/named/zyj.com.zone ##拷贝模板,-a 参数保留原始文件属性
内容如下:
$TTL 1D
@ IN SOA zyj.com. root.zyj.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.zyj.com.
ns IN A 192.168.31.220
@ IN MX 10 mail.zyj.com.
mail IN A 192.168.31.220
vim /etc/sysconfig/network-scripts/ifcfg-ens33
添加或修改DNS,内容如下:
DNS1:192.168.31.220
named-checkconf && systemctl restart named
systemctl enable named
systemctl restart network
[root@zyj-01 ~]# nslookup mail.zyj.com
Server: 192.168.31.220
Address: 192.168.31.220#53
Name: mail.zyj.com
Address: 192.168.31.220
yum install -y postfix
vim /etc/postfix/main.cf
修改以下配置段:
myhostname = mail.zyj.com ##文件内行号76,取消注释,定义主机名变量,后续参数会调用
mydomain = zyj.com ##文件内行号83,取消注释,定义邮件域的变量
myorigin = $mydomain ##文件内行号99,取消注释,调用mydomain变量
inet_interfaces = 192.168.31.220 ##文件内行号116,取消注释,指定对外提供邮件服务的IP,可以设定为all即全部
mydestination = $myhostname, $mydomain ##文件内行号163,取消注释,定义可以接受邮件的主机名和域名
useradd cxsw
echo "zyj.com" | passwd --stdin cxsw
systemctl start postfix && systemctl enable postfix
yum install dovecot -y
vim /etc/dovecot/dovecot.conf
内容如下:
protocols = imap pop3 lmtp ##定义电子邮箱支持的协议
disable_plaintext_auth= no ##允许用户明文进行密码验证(暂未开启加密,所以需要添加该参数允许用户明文登录)
login_trusted_networks = 192.168.31.0/24 ##定义能够使用电子邮件系统的IP或网段
vim /etc/dovecot/conf.d/10-mail.conf
内容如下:
mail_location = mbox:~/mail:INBOX=/var/mail/%u
su - cxsw
mkdir -p mail/.imap/INBOX
exit
systemctl start dovecot
systemctl enable dovecot
打开foxmail —— 选择手动设置
分别填入之前设置的,邮箱账户和服务器域名
[root@zyj-01 ~]# mail
Heirloom Mail version 12.5 7/5/10. Type ? for help.
"/var/spool/mail/root": 1 message 1 new
>N 1 cxsw Sat Mar 9 01:17 46/1671 "TEST"
&
Message 1:
From [email protected] Sat Mar 9 01:17:58 2019
Return-Path: <[email protected]>
X-Original-To: [email protected]
Delivered-To: [email protected]
Date: Sat, 9 Mar 2019 01:17:52 +0800
From: cxsw <[email protected]>
To: root <[email protected]>
Subject: TEST
X-Priority: 3
X-Has-Attach: no
X-Mailer: Foxmail 7.2.9.156[cn]
Content-Type: multipart/alternative;
boundary="----=_001_NextPart737254205886_=----"
Status: R
Content-Type: text/plain;
charset="GB2312"
这是一封测试邮件,邮件系统搭建完成――赵宇杰
cxsw
&
基本操作步骤相似,可以不搭建DNS服务。只需在域名控制台中加入相应解析即可
主域名 A @ 192.168.31.220
邮件域名 A mail 192.168.31.220
邮件服务器 MX @ mail.zyj.com
反垃圾配置 TXT @ v=spf1 a mx -all
以阿里云为例,还需申请开启25端口(默认关闭,且必须调用第三方smtp服务。)
明确指出,只能使用第三方的SMTP服务器外发邮件。
邮件服务器在设定mynetworks时,不要设置为all,届时会导致很多服务器将该服务器作为中转邮件服务器,最终导致该邮件服务器发送的邮件被qq,163,gamil,这些邮件服务商标记为垃圾邮件。