资讯动态

如何自建一套企业级邮件系统:mailcow Docker 部署完整教程

发布时间:2026/9/12 16:02:16 来源:尧图企业网站定制
如何自建一套企业级邮件系统mailcow Docker 部署完整教程【免费下载链接】mailcow-dockerizedmailcow: dockerized - 项目地址: https://gitcode.com/GitHub_Trending/ma/mailcow-dockerizedmailcowmailcow: dockerized是一套基于 Docker 的企业级邮件服务器把 Postfix、Dovecot、Rspamd、ClamAV、SOGo Webmail 等十余个组件打包成一组协调工作的容器。本文面向第一次自建邮件系统的读者先看清部署完成后的系统形态再倒推安装过程最后覆盖反垃圾机制、备份恢复与日常排障适合个人站长和中小团队参考。部署完成后的 mailcow 邮件服务器是什么样子跑完之后你手里是这样一套东西一个用域名访问的 HTTPS 管理后台、一组各自独立运行的容器以及对外提供的标准邮件端口。服务容器与职责mailcow 的核心组件都以独立容器运行服务名带-mailcow后缀关键对外端口如下容器职责常用端口nginx反向代理统一入口80、443postfix邮件收发SMTP25、465、587dovecot邮件存储与 IMAP/POP3993、995、143rspamd反垃圾邮件过滤内部调用clamdClamAV 病毒扫描内部调用sogoWebmail / Exchange ActiveSync经 443mysql / redis账号数据存储 / 会话缓存13306、7654另有 unbound内置 DNS 解析、acme证书签发、watchdog健康监控、netfilter防火墙规则下发等辅助容器在 docker-compose.yml 中可以逐一查看。默认入口与初始账号首次启动后用https://你的域名打开管理后台系统预置管理员账号admin默认密码moohoo该默认值直接写在 generate_config.sh 的配置模板里。登录后第一件事就是改掉这个密码——它没有任何安全含义只用于让你能进后台。用 Docker 四步部署 mailcow 邮件服务器前提条件Linux 服务器Docker 与 Docker Compose 已安装至少 2GB 内存、20GB 磁盘一个已解析到本机的域名如mail.example.com用于 MX 记录指向内存小于 4GB 时ClamAV 病毒扫描默认不会启用可在配置时或之后通过mailcow.conf里的SKIP_CLAMDn重新打开。从拉取代码到启动git clone https://gitcode.com/GitHub_Trending/ma/mailcow-dockerized cd mailcow-dockerized配置脚本是交互式的会依次询问主机名填 FQDN、时区、是否启用 ClamAV 和 watchdog 监控完成后生成mailcow.conf与.env./generate_config.sh docker compose up -d启动后容器会自行完成初始化拉取镜像、初始化数据库、生成 DKIM 密钥、申请证书。首次启动耗时较长属正常现象等到后台可以登录即代表部署成功。一封邮件的流转路径与四层反垃圾防护一封外来邮件的完整路径是Postfix 接收 → Rspamd 做垃圾/病毒判定 → Dovecot 写入邮箱存储 → 客户端通过 IMAP 收取。发出方向则相反由 Postfix 的 587 端口提交后向外投递。Rspamd 的判定是多层叠加的基于 IP 信誉的实时黑名单RBL检查贝叶斯学习根据历史训练数据识别垃圾特征机器学习模型用于识别新型垃圾邮件变种附件送 ClamAV 扫描拦截带毒文件所有反垃圾相关配置集中在data/conf/rspamd/目录包括local.d/本地策略、plugins.d/插件开关等子目录在管理后台也可以直接调整各过滤器权重。客户端配置方面mailcow 内置 autodiscover 与 autoconfig 接口对应 data/web/ 下的 autodiscover.php 等文件Outlook、Thunderbird 等客户端填写邮箱地址后大多能自动填充 IMAP:993 / SMTP:587 的服务器信息SOGo 同时提供 Webmail 和 Exchange ActiveSync手机邮件应用可直接添加。备份与恢复数据丢了怎么办mailcow 自带备份脚本helper-scripts/backup_and_restore.sh支持按组件或整体备份备份产物可直接用于恢复。./helper-scripts/backup_and_restore.sh backup all /backup/path第二个参数可选all、mysql、postfix、rspamd、redis、vmail用户邮箱数据、crypt密钥。恢复时把第一个参数换成restore即可目录结构要求与备份时一致。一个常见的 crontab 写法是每天凌晨 3 点做全量备份0 3 * * * /path/to/mailcow/helper-scripts/backup_and_restore.sh backup all /backup/path常见故障排查与日常维护收不到外部邮件绝大多数情况是 DNS 记录问题MX 记录未指向服务器、SPF/DKIM/DMARC 记录缺失或填写错误。后台的 DNS 检查功能对应 data/web/inc/ 中的 dns_diagnostics 模块可以逐项核对按提示补齐记录后再测试。管理后台无法访问按顺序检查容器状态与 Nginx 日志端口是否被防火墙拦截docker compose ps docker compose logs --tail50 nginx-mailcow忘记密码与系统更新管理员密码重置./helper-scripts/mailcow-reset-admin.sh组件更新先备份再执行./update.sh脚本会拉取新版本镜像并按提示重启关于更新节奏项目采用 staging 与 master 两条主线的分支策略社区 PR 先进入 staging 分支验证稳定后再合入 master这也是官方图所示的提交流程日常维护建议每周核对一次docker compose ps确认容器全部在跑、df -h看磁盘水位、进后台查看邮件队列与系统日志。季度级别做一次备份恢复演练才能真正保证那份备份可用。延伸阅读各服务原始配置文件data/conf/维护脚本备份、重置、更新helper-scripts/各容器入口脚本与初始化逻辑data/Dockerfiles/【免费下载链接】mailcow-dockerizedmailcow: dockerized - 项目地址: https://gitcode.com/GitHub_Trending/ma/mailcow-dockerized创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价