十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

30分钟部署一套完整可用的 mailcow-dockerized 邮件服务器:新手实战避坑指南

30分钟部署一套完整可用的 mailcow-dockerized 邮件服务器:新手实战避坑指南 30分钟部署一套完整可用的 mailcow-dockerized 邮件服务器新手实战避坑指南【免费下载链接】mailcow-dockerizedmailcow: dockerized - 项目地址: https://gitcode.com/GitHub_Trending/ma/mailcow-dockerized你想给自己的域名配一个真正能收发的邮箱但光是要装 Postfix、Dovecot、Rspamd、ClamAV这句话就让你没了兴趣mailcow-dockerized 把一整套企业级邮件服务器——收发、反垃圾、杀毒、网页邮箱、管理界面——全部打包进了一组 Docker 容器里配置、拉镜像、启动三步就能跑起来。这篇文章按装、配、验、扩、排障的任务流水线带你走完全程读完你会带走一个能用的mail.yourdomain.com以及维护它的底气。 装让 mailcow-dockerized 在你的服务器上跑起来先确认 3 个前提条件约 5 分钟先别被企业级三个字吓到它对硬件的要求其实很朴素一台2GB 内存起步的 Linux 服务器。内存低于 2.5GB 时安装脚本会建议关掉 ClamAV 杀毒因为它相当吃内存一个已注册、能编辑 DNS 记录的域名服务器上装好Docker24 及以上版本和 Compose 插件装完记得让你的用户能执行 docker 命令。手动搭和用 mailcow-dockerized 到底差在哪先看这张表对比项手动搭邮件服务器mailcow-dockerized组件数量Postfix、Dovecot、Rspamd、ClamAV、网页邮箱、证书续期……逐个装10 个一条 docker compose 全量拉起版本兼容依赖关系自己查版本容易打架官方镜像打包测试版本互相匹配日常管理配置文件散落系统各处SSH 逐个改一个 Web 界面 一个 mailcow.conf升级逐个更新然后祈祷没事跑一次 ./update.sh 拉新镜像备份恢复自己研究各组件怎么导backup_and_restore.sh 一条命令拿到代码并生成配置约 5 分钟下面这几条命令负责拉取代码、建立配置软链接并启动配置向导git clone https://gitcode.com/GitHub_Trending/ma/mailcow-dockerized cd mailcow-dockerized ln -s mailcow.conf .env ./generate_config.sh先说明一下这个.env软链接Docker Compose 约定从.env读环境变量mailcow 把它指向mailcow.conf等于整个系统只有一份配置这也是为什么向导要求你在安装目录里执行脚本。generate_config.sh会问你四个问题答完就算完成配置了邮件服务器主机名约 1 分钟填一个带子域名的完整域名比如mail.yourdomain.com。注意脚本特意提醒过——这不是你注册邮箱用的邮件域名而是服务器自己的身份SSL 证书和客户端自动发现都挂在它上面时区会探测系统默认值直接回车即可ClamAV 开不开小内存机器按建议跳过以后随时能开分支生产环境选master稳定想尝鲜有nightly。答完后脚本会生成mailcow.conf端口、内部网段、各类开关全在里面数据库密码、Redis 密码都是自动随机生成的你不用手写任何密钥。拉镜像并启动容器约 10~15 分钟回到 mailcow 安装目录这条命令负责拉取全部镜像并启动整套服务首次拉取比较久泡杯茶docker compose pull docker compose up -d到这一步你的 mailcow-dockerized 已经能跑了。打开浏览器访问https://mail.yourdomain.com用默认账户admin / moohoo登录第一件事改掉管理员密码。你会发现第一次打开页面会有证书警告——因为你的 DNS A 记录还没指过来时mailcow 先挂的是一张自签占位证书。把mail.yourdomain.com的 A 记录指到服务器后acme 容器会自动申请 Lets Encrypt 证书替换掉它不用手动折腾。整套东西启动后一封邮件的旅程大致长这样你的邮件客户端 ──(IMAP/SMTP)──▶ mail.yourdomain.com │ Nginx(80/443) ──┬──▶ SOGo 网页邮箱 PHP 管理界面 ├──▶ Postfix 收发 ──▶ Rspamd 反垃圾 │ └──▶ ClamAV 查毒 └──▶ Dovecot 存邮件 / 提供 IMAP MySQL账户与配置 Redis缓存与日志⚙️ 配加域名、建邮箱、填 DNS 记录添加你的第一个域名约 3 分钟在管理界面找到添加新域名输入yourdomain.com保存。你会发现自己基本不用记任何 DNS 知识保存后 mailcow-dockerized 会直接列出一份需要你去填的 DNS 记录清单照抄到域名的 DNS 解析面板即可MX yourdomain.com 10 mail.yourdomain.com TXT yourdomain.com vspf1 mx -all TXT _dmarc.yourdomain.com vDMARC1; pquarantine;还有一条 DKIM 记录值是 UI 里给你生成的一长串同样复制粘贴。为什么要填这四样一句话白话MX 告诉全世界这个域的邮件送到我服务器SPF 说明只有我的服务器有资格代发DKIM 给每封邮件盖防伪印章DMARC 规定对方验证失败时怎么处理。四样齐了Gmail 这类大服务商才不会把你的邮件拒收。创建第一个邮箱约 2 分钟域名就位后在域名下添加邮箱输入邮箱名前缀比如me、设置密码、拖动配额滑块。到这一步meyourdomain.com这个真实存在的邮箱账户就建好了。你会注意到整个过程中没碰过任何邮件怎么存储的细节账户数据进 MySQL邮件文件进数据卷网页邮箱 SOGo 的配置在 data/conf/sogo/ 里。这些你平时都不用打开知道它们存在就行。✅ 验三个测试确认它真的能收发服务器全绿不等于真能用花十分钟跑三个实测给自己发一封约 1 分钟登录内置的 SOGo 网页邮箱给meyourdomain.com写封新邮件。收到说明 Dovecot 存储、网页邮箱、内部投递链路都没问题发到外部发给一个 QQ 邮箱或 Gmail 地址。进收件箱说明发得出去进垃圾箱的话多半是 SPF/DKIM 记录还没生效用免费的外部邮件检测工具能看到具体扣分项让外部回一封对方回复能到说明 25 端口收信链路和防火墙都正常。三项全过恭喜你一套完整可用的邮件服务器就此完工。想再确认一下健康状态跑docker compose ps看容器是否全部运行即可有重启循环的直接跳去下面最后一节。 扩备份、升级和常用开关备份一条命令全带走约 1 分钟账户、配置、邮件数据mailcow-dockerized 提供了一个 维护脚本 就能整体打包这条命令会把整套服务备份到指定目录./helper-scripts/backup_and_restore.sh backup all /backup恢复时把backup换成restore即可也支持只备vmail邮件文件或mysql账户配置等单块。这里有个真实的教训备份脚本本身很可靠但从没试过的恢复不算恢复过——找个时间真的 restore 一遍到临时目录心里才踏实。升级staging 测试后再进 master想升级 mailcow-dockerized 时执行./update.sh约 10 分钟更新代码和配置再docker compose pull docker compose up -d换新镜像。有个细节值得知道官方新功能都会先进staging分支跑一段时间测稳了才合并进master——这就是生产环境选 master 分支的底气所在。下图就是他们合并流程的截图你可能想改的三个开关打开mailcow.conf搜这三个词就能定位SKIP_CLAMDClamAV 杀毒开关y为关闭。小内存机器关掉能省下近 1GB 内存USE_WATCHDOG默认开启的看门狗哪个容器不健康就自动重启它还能发邮件通知你MAILCOW_HOSTNAME / TZ想改主机名或时区只改这里然后重建容器。改完配置统一用docker compose down docker compose up -d应用。️ 排障最常见的 3 个坑和修法坑一收不到外部邮件或总是进垃圾箱九成是 DNS 记录的问题不是服务器的问题。按顺序查MX 是否指向mail.yourdomain.comSPF 里列的服务器是否与实际一致DKIM 的 TXT 记录是否生效——新加的 TXT 记录全球生效需要 10 分钟到几小时不等急也没用。记录确认无误后用外部邮件送达性检测工具发封测试邮件哪个环节扣分一目了然。坑二配置环节就卡住走不下去最高频的是主机名填错把邮件域名yourdomain.com填成了服务器主机名或反过来。别慌generate_config.sh会把旧文件挪成mailcow.conf_backup再重新生成删掉软链接重跑一遍、重新回答四个问题就行。另一种是 80/443 端口被宿主机上的 Nginx 等程序占用compose 起不来——把占用方停掉或在mailcow.conf里改掉HTTP_PORT/HTTPS_PORT。坑三某个容器反复重启先docker compose ps找出重启循环的容器名再docker compose logs 容器名看报错尾部。两种高频情况watchdog 判定它不健康反复拉起日志里能看到死因或者你改了配置却没重建容器。实在看不出所以然管理界面里有专门的日志页能直接翻各服务最近几百行日志不用 SSH 进容器挨个看。下一步行动清单改掉 admin / moohoo 默认密码建一个备份目录跑一次完整备份并挂上每周定时任务让外部同事发封测试邮件确认落在收件箱而不是垃圾箱观察一周docker compose ps全部常绿才算稳定上线把mail.yourdomain.com的 MX / SPF / DKIM / DMARC 记录抄一份存在手边下次排障不用重新查【免费下载链接】mailcow-dockerizedmailcow: dockerized - 项目地址: https://gitcode.com/GitHub_Trending/ma/mailcow-dockerized创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表