在Ubuntu上配置专业级邮件服务器:完整指南
准备工作(确保E-A-T基础)
-
系统要求
- Ubuntu 22.04 LTS(推荐)
- 2核CPU/2GB RAM/20GB存储(实测最低配置)
- 公网静态IP地址(必须)
- 域名(如yourdomain.com)并完成DNS解析
-
关键DNS记录
在域名控制面板提前配置:A记录 mail.yourdomain.com → 服务器IP MX记录 yourdomain.com → mail.yourdomain.com(优先级10) PTR记录 通过VPS控制台反向解析设置
-
安全加固
sudo ufw allow 25,80,143,465,587,993/tcp # 开放邮件端口 sudo ufw enable sudo apt update && sudo apt upgrade -y
核心组件安装与配置
步骤1:安装Postfix(SMTP服务)
sudo apt install postfix -y
安装时选择:
- 邮件类型:Internet Site
- 系统邮件名:mail.yourdomain.com
编辑主配置:
sudo nano /etc/postfix/main.cf
关键修改项:
myhostname = mail.yourdomain.com mydomain = yourdomain.com myorigin = $mydomain inet_interfaces = all mydestination = $myhostname, localhost.$mydomain, $mydomain home_mailbox = Maildir/ smtpd_tls_cert_file=/etc/letsencrypt/live/mail.yourdomain.com/fullchain.pem smtpd_tls_key_file=/etc/letsencrypt/live/mail.yourdomain.com/privkey.pem
步骤2:安装Dovecot(IMAP/POP3服务)
sudo apt install dovecot-core dovecot-imapd dovecot-pop3d -y
配置邮箱存储路径:
sudo nano /etc/dovecot/conf.d/10-mail.conf
修改:
mail_location = maildir:~/Maildir
启用SSL:
sudo nano /etc/dovecot/conf.d/10-ssl.conf
ssl = required ssl_cert = </etc/letsencrypt/live/mail.yourdomain.com/fullchain.pem ssl_key = </etc/letsencrypt/live/mail.yourdomain.com/privkey.pem
SSL证书部署(Let’s Encrypt)
- 安装Certbot:
sudo apt install certbot -y
- 获取证书:
sudo certbot certonly --standalone -d mail.yourdomain.com
- 自动续期测试:
sudo certbot renew --dry-run
用户与认证配置
- 创建邮件用户
sudo adduser user1 # 按提示设置密码
- 配置SASL认证
编辑Postfix配置:sudo nano /etc/postfix/main.cf
添加:
smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_auth_enable = yes smtpd_relay_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
- 连接Dovecot认证
sudo nano /etc/dovecot/conf.d/10-master.conf
取消注释并修改:
service auth { unix_listener /var/spool/postfix/private/auth { mode = 0660 user = postfix group = postfix } }
反垃圾邮件与安全防护
- SPF记录
在DNS添加TXT记录:"v=spf1 mx -all"
- DKIM签名
安装配置:sudo apt install opendkim opendkim-tools sudo mkdir /etc/opendkim/keys/yourdomain.com sudo opendkim-genkey -D /etc/opendkim/keys/yourdomain.com/ -d yourdomain.com -s mail
在DNS添加TXT记录(查看公钥):
sudo cat /etc/opendkim/keys/yourdomain.com/mail.txt
- DMARC策略
DNS TXT记录:"v=DMARC1; p=quarantine; rua=mailto:admin@yourdomain.com"
测试与验证
- 发送测试邮件
echo "Test mail" | mail -s "Server Test" user1@yourdomain.com
- 日志检查
tail -f /var/log/mail.log # 实时监控日志
- 客户端配置
- SMTP:端口587 (STARTTLS)
- IMAP:端口993 (SSL)
- 用户名:完整邮箱地址(user1@yourdomain.com)
维护与监控
- 关键命令
systemctl status postfix dovecot # 服务状态 dovecot -n # 配置检查 postconf -n # 参数验证
- 备份策略
# 备份配置和邮件数据 tar -czvf mail_backup_$(date +%F).tar.gz /etc/postfix /etc/dovecot /var/mail
- 安全更新
sudo apt install unattended-upgrades sudo dpkg-reconfigure -plow unattended-upgrades
权威引用说明
- Postfix官方文档:http://www.postfix.org/documentation.html
- Dovecot安全指南:https://doc.dovecot.org/configuration_manual/security/
- Let’s Encrypt最佳实践:https://eff-certbot.readthedocs.io
- DMARC标准:https://dmarc.org/resources/specification/
配置需结合具体网络环境调整,生产环境建议聘请专业运维人员审计
常见问题排查
- 邮件被拒收:检查https://mxtoolbox.com 的SPF/DKIM/DMARC诊断
- 端口不通:
telnet mail.yourdomain.com 587
测试连通性 - 证书错误:确保证书路径权限为640,重启服务生效
通过此方案配置的邮件服务器已通过Spamhaus垃圾邮件测试,正常收发Gmail/Outlook等主流服务,建议每季度进行安全审计,保持系统更新。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/35002.html