在Debian 12系统上使用Mailcow (Dockerized)搭建邮件系统的安装流程
一、前置准备
- 一台独立公网服务器(建议:Debian 12,2 vCPU / 4GB RAM / 60GB+ SSD,独立IPv4)。
- 主域名:例如 example.com(管理面板与收发用同域或子域)。
- 解析可控(Cloudflare/自家 DNS 均可,若用 Cloudflare 需关闭代理小云朵,走直连)。
- 申请可配置反向解析(rDNS/PTR) 的机房/IP(发信送达率关键)。
二、DNS 必备记录(上线前先配好)
以 Mailcow 默认建议的 mail.example.com
为主机名举例:
- A 记录 mail.example.com → <你的服务器IPv4>
- MX 记录 example.com. MX 10 mail.example.com.
- SPF(TXT) v=spf1 mx -all (后期若有外部发信服务再并入 include)
- DKIM(TXT) 在 Mailcow 面板生成,形如:dkim._domainkey.example.com → v=DKIM1; k=rsa; p=...
- DMARC(TXT) _dmarc.example.com → v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com; ruf=mailto:dmarc@example.com; fo=1
- 可选加强:MTA-STS、TLS-RPT、SPF macro、BIMI(后期再加)
- PTR/rDNS(在机房控制台设置): <你的服务器IP> → mail.example.com
三、防火墙端口放行
25/tcp (SMTP 发信/接收) ※很多云默认封,需工单申请放行
465/tcp (SMTPS 提交)
587/tcp (SMTP Submission)
993/tcp (IMAPS 收信)
995/tcp (POP3S 可选)
80/tcp, 443/tcp (面板与 ACME 签证书)
四、安装 Mailcow(Docker 版)
# 1) 基础环境
apt update && apt install -y curl git vim ufw
ufw allow 22
ufw allow 25 465 587 993 995 80 443
ufw enable
# 2) 安装 Docker / Compose
curl -fsSL https://get.docker.com | bash
apt install -y docker-compose-plugin
# 3) 拉项目
cd /opt
git clone https://github.com/mailcow/mailcow-dockerized
cd mailcow-dockerized
# 4) 生成配置
./generate_config.sh
# 按提示输入:FQDN 如 mail.example.com
# 5) 首次启动
docker compose pull
docker compose up -d
# 6) 等待所有容器 healthy 后,浏览器访问:
# https://mail.example.com
默认后台地址:https://mail.example.com
- 管理面板(Mailcow UI):/admin(初始账号/密码在 mailcow.conf 中或初次启动日志提示)
- Webmail(SOGo):/SOGo(用户可登录收发邮件)
五、Mailcow 内部关键配置
- 添加域和用户 管理面板 → “域设置”中添加 example.com,创建用户邮箱(如 info@example.com)。
- DKIM 密钥 在“域设置”里生成 DKIM 公钥,把 TXT 粘到 DNS(见上)。
- SSL/TLS 证书 默认使用 ACME 自动签发(需 80/443 放行且域名直连本机)。
- 垃圾过滤 / 白黑名单 自带 Rspamd:在 UI 中设置策略。
- 备份 启用内置备份脚本或挂载外盘: docker compose exec -T dovecot-mailcow doveadm backup -u user@example.com 或使用 mailcow-dockerized/helper-scripts/backup_and_restore.sh。
- 发信限制与队列 在 UI 可设每用户/域配额、限速、防爆发。
- 告警/监控 启用 Postfix 队列监控、Rspamd 报表。 外部可对 25/465/587/IMAP 做健康探测;如接入 Uptime Kuma/Prometheus。
六、客户端/前端
- Web 前端:Mailcow 自带 SOGo Webmail(现代界面,日历/通讯录/CalDAV/CardDAV)。
- 桌面/移动客户端(IMAP/SMTP): 收信 IMAP:mail.example.com:993(SSL/TLS) 发信 SMTP:mail.example.com:465(SSL/TLS)或 587(STARTTLS)
七、送达率与合规要点(千万别忽略)
- IP 信誉:新机新 IP 发信需预热(每天逐步递增量),避免瞬时大批量群发。
- rDNS 与 HELO 一致:Postfix 的 smtp_helo_name 会随 Mailcow 设置为主机名;保持与 PTR 一致。
- SPF/DKIM/DMARC 生效:改完 DNS 后用工具检查(MXToolbox/Google Postmaster)。
- 不要发垃圾/诱导词:避免命中内容规则;图片+文字比例适中,带退订方式(事务类除外)。
- Cloudflare:SMTP 不走 CF;仅 80/443 可接代理,其它邮件端口必须直连。
八、常见问题速查
- 25 端口被封:联系云厂商解封;不行就换支持外发的机房或用 SMTP 中继(如 SendGrid/Postmark,Mailcow 支持中继)。
- 证书签不下来:检查 80/443 是否直达服务器(关代理/安全组/重定向)。
- Gmail/Outlook 进垃圾:检查 SPF/DKIM/DMARC 报告、降低发送频率、优化文案、提高历史互动率。
- 备份恢复:用官方 backup_and_restore.sh,或定时 rsync /var/lib/docker/volumes 对应卷。
其它一体化选择(对比)
方案 | 架构 | 优点 | 注意点 |
---|---|---|---|
Mailcow | Docker | 功能全、UI 好、社区活跃、带 SOGo/Rspamd/ACME | 依赖 Docker,资源占用中等 |
iRedMail | 本机安装 | 裸机安装、轻依赖,带 iRedAdmin、Roundcube | 版本与依赖维护要细心 |
Mailu | Docker | 组件简洁、可裁剪 | 需要自己搭配 Webmail/反垃圾策略 |
Modoboa | 本机/半容器 | 一体化安装器、带管理与 Webmail | 生态小一些 |
想“开箱即用、界面友好”,还是首推 Mailcow;要“极简+完全可控”,可考虑 Postfix+Dovecot+Rspamd+Roundcube 手搭(后续我也能给你最小可用配置清单)。
评论
评论 (0)