快速开始
Mailez 是一个自托管邮件解决方案,一条命令即可部署完整的邮件系统 —— 邮件收发、反垃圾、身份认证、管理控制台、Webmail 与移动同步一体化交付。全部档位(开发 / 社区版 / 企业版)统一运行自研 Mailezine 单二进制引擎,版本差别只在存储规模与授权功能。
前置要求
- Docker(Compose v2)
- Go 工具链(1.26+),仅从源码构建镜像时需要
本地试用以上即可;公网上生产所需的服务器配置、端口开放与域名 DNS (MX / SPF / DKIM / DMARC 等),见部署到生产。
快速部署(社区版)
1. 获取发行包或源码
发行包(推荐):从发行渠道获取 mailez-<version>.tar.gz,解压后运行交互式安装器,
自动完成预检、密钥生成与端口配置:
tar xzf mailez-<version>.tar.gz && cd mailez-<version>
./install.sh
从源码部署:克隆仓库后继续下面两步。
2. 配置环境变量
cd deploy
cp mailez.env.example mailez.env
编辑 mailez.env,设置以下关键配置:
MAILEZ_SECRET_KEY— 用于加密的密钥MAILEZ_STACK_SECRET— 控制面与引擎的共享密钥MAILEZ_DOMAIN— 你的邮件域名MAILEZ_HOSTNAMES— 邮件服务器主机名
3. 一条命令启动
所有部署档位由统一入口 mailezctl 管理:
./deploy/mailezctl.sh up ce # 社区版(生产档)
生产档默认拉取预构建镜像(MAILEZ_REGISTRY / MAILEZ_IMAGE_TAG 可指定仓库与
版本);要从本地源码构建,每个档位都配有 build overlay(MAILEZ_LOCAL_BUILD=1
时 mailezctl 自动走 up -d --build 并打 local 标签)。
社区版 = Mailezine 引擎 + SQLite(控制面,可选 MySQL)+ Pebble KV + 本地 FS blob, 单节点即可运行完整的邮件平台,适合 Linux 服务器与已有 Docker 环境。
企业版
企业版使用同一 Mailezine 引擎,升级为分布式存储:MySQL(控制面)+ TiDB(引擎 KV)+ MinIO/S3(正文 blob)。同一入口按档位叠加:
./deploy/mailezctl.sh up ee # 分布式存储(生产档)
./deploy/mailezctl.sh up ha # 企业版 + 控制面多副本
./deploy/mailezctl.sh up multi # 企业版 + 引擎全服务多活
开发模式
后端在宿主机以 SQLite + Pebble + 本地 FS 运行,仅编排邮件栈依赖:
./deploy/mailezctl.sh up # dev 档
验证部署
系统启动后,创建管理员账号(默认 admin@example.com /
MailezDemo2026!,可在 seed 前用 MAILEZ_ADMIN_EMAIL /
MAILEZ_ADMIN_PASSWORD 覆盖):
docker compose --env-file deploy/mailez.env -f deploy/docker-compose.ce.yml \
exec backend mailez-seed
从源码开发时,也可以在宿主机直接运行 go run ./cmd/seed(创建管理员)与
go run ./cmd/e2e(端到端验证投递、DKIM 与反垃圾)。
访问服务
| 端口 | 服务 |
|---|---|
| http://localhost:8082 | 管理控制台 |
| http://localhost:8083 | Webmail |
| http://localhost:8081 | 后端 API(开发者用) |
| 25/465/587/110/995/143/993/4190 | 邮件协议(SMTP / POP3 / IMAP / ManageSieve,含隐式 TLS) |
默认情况下 TLS 关闭,用于本地测试。生产环境请按照 deploy/certs/README.md 启用自动证书。