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
[[email protected] ~]# 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 —— 选择手动设置
分别填入之前设置的,邮箱账户和服务器域名
[[email protected] ~]# 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,这些邮件服务商标记为垃圾邮件。