自己搭邮件服务器有多难?我用 Mailu 跑通了整套企业邮箱

498 阅读3分钟

从“为什么要自建邮箱”讲起,拆解 Mailu 的架构、优缺点,以及普通人也能照着做的安装实战。

Github:github.com/Mailu/Mailu

官网:mailu.io/

b4104652304a1f868421518e475c6c1d.png

这几年,越来越多团队开始重新审视一件事:邮箱,到底要不要掌握在自己手里?

用第三方企业邮箱当然省事,但账号封禁、功能限制、隐私不可控的问题,一旦遇到,几乎没有回旋余地。于是,自建邮件服务器这件事,又被不少技术团队重新捡了起来。

而在一堆方案里,Mailu 是被频繁提到的一个名字。

Mailu 是什么?一句话先讲明白

Mailu 是一套基于 Docker 的开源邮件服务器整体解决方案。

它不是某一个单独的软件,而是把收信、发信、反垃圾、Web 邮箱、管理后台这些组件,全部拆分成容器,再用一套统一的方式帮你组装好。

你不用再自己去拼 Postfix + Dovecot + SpamAssassin + Webmail,也不用被复杂的配置文件折磨,Mailu 的目标很直接:
让“自建邮件服务器”这件事,变得工程化、可复制。

Mailu 内部是怎么工作的?

Mailu 本质上是一套“邮件系统拼装模板”,核心组件包括:

  • Postfix:负责邮件发送(SMTP)
  • Dovecot:负责邮件接收(IMAP / POP3)
  • Rspamd:反垃圾、反病毒
  • Webmail(Roundcube 或 RainLoop) :网页邮箱
  • Admin 管理后台:域名、用户、别名统一管理
  • Redis / MariaDB:状态和数据存储

所有组件都通过 Docker 运行,你看到的不是一堆零散服务,而是一套已经编排好的系统。

这也是 Mailu 最大的特点:
它不是“教你怎么搭”,而是“直接给你一套能跑的”。

Mailu 的基本安装思路(不踩坑版)

整体流程其实很清晰:

第一步:配置 DNS

假设域名为 example.com,服务器IP为 1.2.3.4

  • A 记录

    # 主机记录           记录类型  IP
    mail.example.com    A    1.2.3.4
    
  • MX 记录

    # 主机记录@    记录类型  优先级  记录值
    example.com    MX    10 mail.example.com
    

核心是配置 A、MX 记录,这是邮件系统成败的关键一步,不能省。另外还有 SPF、DKIM、DMARC 可以按需配置。

第二步:启动 Mailu

  • 创建 mailu 文件夹

    mkdir /mailu
    cd /mailu
    
  • 访问 setup.mailu.io/ 填写域名信息后(参考以下截图填写主域名、二级域名),点击界面最下方的 Setup Mailu ,此时官方会跳转到 Mailu configuration - 界面,下载界面提供 docker-compose.ymlmailu.env 的两个文件到服务器的 mailu 目录下

    image.png image.png ef0a9155f8456effe2f44b4846712252.png

  • 手动修改 docker-compose.yml ,移除 front 端口映射中的 127.0.0.1 ,使其能够被外部访问到

  • 一条命令启动服务 docker compose up -d

第三步:后台创建用户

  • 登录 Admin 页面,在浏览器中访问 服务器IP/admin 或者 mail.主域名/admin,服务默认在 80 端口上

  • 添加域名、邮箱账号,执行下面命令后会获取到一个超管账户,邮箱为 me.example.com ,密码为 password

    # docker compose exec admin flask mailu admin [用户名] [主域名] [密码]
    # 示例:
    docker compose exec admin flask mailu admin me example.com 'password'
    
  • 测试收发邮件

    访问 服务器IP/webmail 或者 mail.主域名/webmail 如果能收到其他邮件系统发送过来的邮件,说明收件相关的配置没有问题咯

    227b722c1c28869466385f52dc90b875.png

写在最后

Mailu 并不是“最简单”的邮件方案,但它是少数能把复杂事情系统化的方案之一

当你真正把邮件当成一项基础设施,而不是一个外包服务时,你会发现,自建并没有想象中那么可怕。

真正难的,从来不是工具,而是你是否愿意为“可控”付出一点学习成本。

如果你已经在考虑这一步,Mailu,值得你认真试一次。