ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

mailcow 部署完整指南:如何用 Docker 自建邮件服务器

mailcow 部署完整指南:如何用 Docker 自建邮件服务器 mailcow 部署完整指南如何用 Docker 自建邮件服务器【免费下载链接】mailcow-dockerizedmailcow: dockerized - 项目地址: https://gitcode.com/GitHub_Trending/ma/mailcow-dockerized小团队想把邮箱迁到自有服务器方案就是 mailcow-dockerized——没有专职运维而这正是它针对的场景。它把邮件服务器的 Postfix、Rspamd 等组件打包成一组 Docker 容器配好域名后就能在浏览器里管理邮箱和反垃圾。开箱即得它替你打包了哪些服务Web 管理控制台data/web/ 下的 PHP 应用负责创建域名、邮箱和查看系统状态。邮件收发Postfix 在 25 端口接收外部来信并处理所有对外投递。邮件存储与取信Dovecot 提供 IMAP/POP3都是取信的协议每个邮箱的邮件存放在 Maildir 目录里。反垃圾过滤Rspamd 给每封进信打分综合发件 IP 信誉、SPF/DKIM 校验和正文特征超阈值的一律转入域隔离区。附件病毒扫描ClamAV 扫描附件病毒内存小的机器可以在配置里关掉它。WebmailSOGo 提供浏览器邮箱以及手机端的 ActiveSync 协议。数据层MySQL 保存域名与邮箱账户Redis 缓存容器日志和状态。统一入口Nginx 接管全部 HTTP/HTTPS 流量并终结 TLS。自愈监控watchdog 容器自动重启不健康的服务。部署前检查清单检查项要求说明内存6 GB 以上关闭 ClamAV 后 2.5~4 GB 也可运行磁盘20 GB 以上邮箱数据会持续增长系统LinuxUbuntu/Debian需要 Docker Engine 24 及以上版本域名一个指向本机公网 IP 的子域名如 mail.example.com即能在公网解析的完整域名FQDN网络25、80、443 端口放行25 用于收信多数云厂商默认封锁需提交解封申请服务器还没有 Docker 的话一行安装curl -fsSL https://get.docker.com | sh # 一行安装 Docker从克隆仓库到第一次登录下面是 Docker 自建邮箱的主流程克隆仓库、跑配置向导、启动容器、浏览器登录四件事按顺序做完即可。克隆仓库并运行配置脚本以下命令都在代码所在目录按顺序执行git clone https://gitcode.com/GitHub_Trending/ma/mailcow-dockerized cd mailcow-dockerized ln -s mailcow.conf .env # compose 通过 .env 符号链接读取配置 ./generate_config.sh # 运行配置向导 docker compose up -d # 后台启动全部容器配置向导会问什么、该输入什么generate_config.sh 会依次提问每道题都不长邮件服务器主机名FQDN输入类似 mail.example.com 的值。它是服务器的地址不是收信域名两者可以不同。时区系统会探测本机时区直接回车接受或手动输入 Asia/Shanghai。分支选 master即稳定线。下图示意这个项目仓库里的分支概念master 用于生产nightly、staging 之类的分支只适合测试。ClamAV内存不超过 2.5 GB 时脚本会询问是否禁用病毒扫描6 GB 以上的机器保持开启。向导结束后根目录多出一个 mailcow.conf里面写有自动生成的数据库与缓存密码请妥善保管。启动全部容器并第一次登录最后一行命令启动整个堆栈。首次运行会下载镜像耗时取决于带宽看到各项服务依次出现 Started 状态即代表就绪。在浏览器打开你的邮件主机名用户名 admin默认密码 moohoo。页面如果提示证书不受信任属于正常现象内置的 ACME 服务会自动向 Lets Encrypt 申请证书成功后提示消失。登录后先做的事是修改 admin 密码。一封邮件是怎么跑完整个系统的收信方向外部来信按 MX 记录找到这台机器——MX 记录是一条 DNS 数据作用是告诉发送方“这个域名的邮件发到这台服务器”。Postfix 在 25 端口验收入口把信件交给 Rspamd 打分分数超阈值就转入域隔离区通过的邮件由 Dovecot 写入对应邮箱的 Maildir 目录。发信方向你在客户端发信走带认证的 587 端口Postfix 加上 DKIM 签名后投递出去。Nginx 不参与邮件流向它只是 Web 侧的统一入口包括管理界面、Webmail 和让客户端自动获取服务器配置的 autodiscover/autoconfig 接口。上线后最常做的三件事目标操作路径完成后看到什么添加新域名管理面板 → 电子邮件 → 域名 → 添加填入域名后把系统生成的 MX、SPF、DKIM 记录粘到域名解析商域名出现在列表中状态列提示 DNS 是否生效创建邮箱域名 → 点进目标域名 → 邮箱 → 新建填写地址与配额设置密码或让系统代生成邮箱出现在列表里立刻能用该地址登录 SOGo Webmail接入客户端邮件应用里新建账号时输入域名mailcow 的 autodiscover 功能会自动填好服务器地址与端口IMAP 993 / SMTP 587客户端直连成功无需手填任何端口上面三类 DNS 记录生成后照抄到解析商即可它们共同决定外部服务商是否信任你的来信。踩坑手册最容易卡住的三种情况外部邮件收不到现象从外部邮箱给新账号发测试信一直收不到发件方收到退信通知。原因几乎都在 DNSMX 记录没指向本机或者 25 端口被云厂商封锁该端口默认被封锁很常见。解决用管理面板里的 DNS 诊断功能逐项核对 MX、SPF、DKIM同时向云厂商申请解封 25 端口记录生效后再发一次验证。Web 界面打不开或提示证书警告现象浏览器打开邮件主机名报 502 或连接被拒绝或者页面只提示证书不受信任。原因前者通常是堆栈中某个容器没有起来最常见的是 Nginx后者是 Lets Encrypt 证书还没申请成功。解决在根目录执行 docker compose 的 ps 子命令找出不是 Running 的容器并查看其日志定位错误证书【免费下载链接】mailcow-dockerizedmailcow: dockerized - 项目地址: https://gitcode.com/GitHub_Trending/ma/mailcow-dockerized创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表