基础环境准备
-
服务器选择建议
推荐配置不低于2核4GB的云服务器(阿里云ECS/酷盾CVM等),选择CentOS 7.6以上系统版本,带宽建议5Mbps起步,注意在安全组开放以下端口:# SMTP协议
25/tcp(发件) 587/tcp(加密发件)
# IMAP/POP3
143/tcp 993/tcp(加密收件)
110/tcp 995/tcp(加密收件) -
域名解析设置
在域名控制台添加以下关键解析记录(示例域名yourdomain.com):MX记录 @ 10 mail.yourdomain.com A记录 mail [ECS服务器IP] TXT记录 @ "v=spf1 a mx ~all" # SPF反垃圾验证
核心组件安装与配置
(1)Postfix邮件服务
# 安装组件 yum install postfix cyrus-sasl-plain -y # 主配置文件修改(/etc/postfix/main.cf) myhostname = mail.yourdomain.com mydomain = yourdomain.com myorigin = $mydomain inet_interfaces = all mydestination = $myhostname, localhost.$mydomain, $mydomain smtpd_tls_cert_file = /etc/pki/tls/certs/mail.crt smtpd_tls_key_file = /etc/pki/tls/private/mail.key
(2)Dovecot收件服务
# 安装IMAP/POP3服务 yum install dovecot -y # 配置认证方式(/etc/dovecot/conf.d/10-auth.conf) disable_plaintext_auth = no auth_mechanisms = plain login # 配置SSL证书(/etc/dovecot/conf.d/10-ssl.conf) ssl_cert = </etc/pki/dovecot/certs/mail.crt ssl_key = </etc/pki/dovecot/private/mail.key
安全增强设置
-
SSL证书部署
通过Let’s Encrypt申请免费证书或使用云平台提供的SSL服务:# Let's Encrypt证书申请示例 certbot certonly --standalone -d mail.yourdomain.com
-
SASL认证配置
创建SMTP登录账户并配置密码:# 添加邮件系统用户
useradd -s /sbin/nologin webmaster
passwd webmaster
# 配置saslauthd(/etc/sysconfig/saslauthd)
MECH=shadow -
反垃圾邮件策略
添加DKIM签名与DMARC验证:# DKIM记录(1024位密钥) mail._domainkey IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC..." # DMARC策略 _dmarc IN TXT "v=DMARC1; p=quarantine; rua=mailto:postmaster@yourdomain.com"
全链路功能测试
-
发信验证
使用telnet模拟SMTP交互:telnet mail.yourdomain.com 25 EHLO test.com MAIL FROM:<sender@yourdomain.com> RCPT TO:<recipient@example.com> DATA Subject: SMTP Test This is a test message. .
-
收信验证
Thunderbird客户端配置示例:服务器类型:IMAP 主机名:mail.yourdomain.com 端口:993 (SSL/TLS) 认证方式:Normal password
故障排查指引:
- 使用
mailq
命令查看待发送队列 - 查看日志
tail -f /var/log/maillog
- 测试端口连通性
nc -zv mail.yourdomain.com 587
引用说明
[1] Postfix官方配置手册 http://www.postfix.org/documentation.html
[2] 酷盾SSL证书申请指南 https://cloud.tencent.com/document/product/400/8422
[3] 阿里云ECS安全组设置 https://help.aliyun.com/document_detail/25471.html