Postfix 是一个标准的 MTA「Mail Transfer Agent」服务器,它负责通过 SMTP 协议管理发送到本机的邮件以及由本机发向外界的邮件。
Dovecot 是一个优秀的 IMAP/POP 服务器用以接收外界发送到本机的邮件。
一、准备域名
域名注册、域名解析
完成该实验共需要添加两条记录:
A 记录
记录类型:A
主机记录:abc
记录值:192.168.0.11
MX 记录
记录类型:MX
主机记录:@
记录值:abc.youadminwen.com(替换为自己域名)
生效检查(A 记录、MX 记录)
ping abc.youadminwen.com
nslookup -q=mx youadminwen.com
二、安装postfix && dovecot
yum -y install postfix dovecot
三、配置Postfix
配置中 Postfix 使用 sasl 和 tls 来完成身份认证和传输信息加密。
试验中使用了 Dovecot 默认的 ssl 证书和私钥,如果要修改为自己的,请替换最后两行配置的路径
postconf -e 'myhostname = abc.youadminwen.com'
postconf -e 'mydestination = localhost, localhost.localdomain'
postconf -e 'myorigin = $mydomain'
postconf -e 'mynetworks = 192.168.0.11/8'
postconf -e 'inet_interfaces = all'
postconf -e 'inet_protocols = all'
postconf -e 'mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain'
postconf -e 'home_mailbox = Maildir/'
postconf -e 'smtpd_sasl_type = dovecot'
postconf -e 'smtpd_sasl_path = private/auth'
postconf -e 'smtpd_sasl_auth_enable = yes'
postconf -e 'broken_sasl_auth_clients = yes'
postconf -e 'smtpd_sasl_authenticated_header = yes'
postconf -e 'smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination'
postconf -e 'smtpd_use_tls = yes'
postconf -e 'smtpd_tls_cert_file = /etc/pki/dovecot/certs/dovecot.pem'
postconf -e 'smtpd_tls_key_file = /etc/pki/dovecot/private/dovecot.pem'
部分邮件客户端依赖于使用 465 端口提供加密连接,所以我们修改配置,允许 Postfix 使用 465 端口发送邮件。
配置 smtps
vim /etc/postfix/master.cf
将 Postfix 设为自动启动并首次启动该服务
systemctl enable postfix.service
systemctl start postfix.service
Postfix 系统的日志文件在系统的这个目录下的 /var/log/maillog 文件,此文件记录了 Postfix 服务器的运行状态信息
四、配置 Dovecot
vim /etc/dovecot/dovecot.conf
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem
protocols = imap pop3 lmtp
listen = *
mail_location = Maildir:~/Maildir
disable_plaintext_auth = no
修改 10-master.conf
vim /etc/dovecot/conf.d/10-master.conf
将 Dovecot 设为自动启动并首次启动该服务
systemctl enable dovecot.service
systemctl start dovecot.service
查看 /var/log/maillog 文件,查看服务是否成功启动
五、创建账户
该配置下邮箱账户依赖于系统用户,所以通过添加系统用户的方式创建邮箱账户
添加用户并设置密码
useradd test
passwd test
六、测试
如测试中遇到异常,请查看 maillog 日志文件中的错误信息
自己的邮箱中 开启pop3服务(记住授权码)
服务器端发送测试
su test
echo "Mail hello zongxiaowen" | mail -s "Mail Subject" zongxiaowen@vip.163.com
其中的信息:
服务器类型:`POP3`
邮箱账户: `test@youadminwen.com`
收件(POP3)服务器: `zongxiaowen@vip.163.com`
端口: `995`
安全连接(SSL): `是`
发件(SMTP)服务器: `youadminwen.com`
端口: `465`
安全连接(SSL): `是`
