手把手教你用VPS搭建邮件服务器:从选购到避坑全指南
自己搭建邮件服务器,听起来很酷,但实际操作中全是坑。我前后试过5家VPS,踩过IP被拉黑、25端口被封、邮件被拒收等经典问题,最后才稳定跑起来。下面直接上干货,按实操顺序把关键点讲透。
一、选购VPS:三个核心指标
1. 必须开放25端口
很多云厂商默认封25端口(防止被滥发垃圾邮件),搭建邮件服务器前一定要确认。我用的沐雨云服务器明确支持25端口出站,且提供原生干净的IP段——新IP被列入黑名单的概率低很多。官网:https://www.muyuyun.cn
2. IP信誉度
选之前去www.spamhaus.org查一下IP段是否在黑名单里。要是买个被标记过的IP,发多少邮件都是拒收。
3. 内存至少1G
推荐2G以上。Postfix+Dovecot+MySQL+反垃圾组件,512M内存跑起来经常OOM,导致队列堆积。
二、环境准备(Ubuntu 22.04为例)
# 更新系统
apt update && apt upgrade -y
# 设置主机名(必须和域名匹配)
hostnamectl set-hostname mail.yourdomain.com
echo "127.0.0.1 mail.yourdomain.com mail" >> /etc/hosts
# 安装基础工具
apt install wget curl net-tools -y
三、搭建邮件服务器(推荐Mailcow一键部署)
自己手动配Postfix+Dovecot太繁琐,而且容易漏配SPF/DKIM。开源方案Mailcow成熟稳定,一条命令搞定。
1. 安装依赖及Docker
apt install docker.io docker-compose -y
systemctl enable docker
2. 下载Mailcow并配置
git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized
./generate_config.sh
编辑mailcow.conf,把MAILCOW_HOSTNAME改为你的邮件域名(如mail.yourdomain.com),同时修改HTTP_PORT和HTTPS_PORT(默认80/443可能被占用)。
3. 启动并初始化
docker-compose pull
docker-compose up -d
完成后访问https://你的VPS_IP:443,设置管理员密码。首次登录时导入SSL证书(推荐用Let's Encrypt自动申请)。
四、必须配置的DNS记录(否则发信必被拒)
以域名yourdomain.com为例,在域名管理面板添加:
| 记录类型 | 主机记录 | 值 |
|---|---|---|
| A | 你的VPS IP | |
| MX | @ | mail.yourdomain.com (优先级10) |
| TXT | @ | v=spf1 mx ~all |
| TXT | dkim._domainkey | Mailcow后台生成的DKIM公钥(复制过来) |
| TXT | _dmarc | v=DMARC1; p=quarantine; rua=mailto:admin@yourdomain.com |
关键一步:申请反向DNS(PTR记录)!在沐雨云后台可以提交工单设置,把IP反向解析为mail.yourdomain.com。没有PTR记录,很多邮箱(如QQ、网易)会直接拒收。
五、避坑指南(血的教训)
1. 25端口被ISP封锁?
有些虚拟运营商(如某些小机房)虽然开放了25出站,但回程链路被运营商屏蔽。用telnet gmail-smtp-in.l.google.com 25测试,如果超时说明链路有问题。沐雨云线路是CN2 GIA直连,25端口双向畅通,我没遇到过被拦截的情况。
2. 发信限制
刚搭好的服务器发第一封邮件就可能被当作垃圾。建议:
- 先发少量测试邮件给Gmail/QQ/Outlook各一封,观察是否进垃圾箱
- 把DKIM签名检查通过
https://www.mail-tester.com测试,拿到10分最好 - 限制每日发件量,在Mailcow后台设置
单用户每小时最大发送数为50
3. 监控黑名单
每天执行一次docker exec -it $(docker ps -f name=acme -q) check_mail 不完全正确,推荐用mxtoolbox.com的监控功能,一旦IP被列入黑名单立即收到通知。如果被列入了,先去该黑名单网站申请移除(一般2-24小时生效)。
4. 备份要全套
邮件数据无价。写个Crontab每天备份Mailcow整个目录:
0 3 * * * tar -czf /backup/mailcow_$(date +\%Y\%m\%d).tar.gz /opt/mailcow-dockerized
六、测试收发的终极方法
- 用另一个邮箱发信到你的新邮箱,看能否正常接收
- 用你的新邮箱发信到Gmail,点开原始邮件查看
Authentication-Results,确认spf=pass、dkim=pass、dmarc=pass - 如果某一步失败,检查DNS记录是否生效(用
dig yourdomain.com TXT查看)
七、总结建议
对于个人或小团队,用Mailcow搭建是最省心的方案。关键是VPS要满足:25端口开放 + IP干净 + 可设反向DNS。沐雨云在这三点上表现靠谱,我目前跑了半年,发信到Gmail/QQ都秒收,没进过垃圾箱。
官网再次附上:https://www.muyuyun.cn
最后提醒:邮件服务器不是搭完就完事,每月至少检查一次黑名单状态,每季度更新一次DKIM密钥。稳定运行一年后,你会发现自己已经成了半个DNS专家——这大概就是折腾的乐趣吧。





这一切,似未曾拥有