跳到主要内容

快速开始

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=1mailezctl 自动走 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:8083Webmail
http://localhost:8081后端 API(开发者用)
25/465/587/110/995/143/993/4190邮件协议(SMTP / POP3 / IMAP / ManageSieve,含隐式 TLS)

默认情况下 TLS 关闭,用于本地测试。生产环境请按照 deploy/certs/README.md 启用自动证书。

下一步