mccb
MIT,没有付费版通过 Docker Compose 运行

从旧邮箱到新服务器:邮件

mccb 可读取 PST 和 OST 文件、Exchange、Microsoft 365、Google Workspace、IMAP、JMAP、mbox、Maildir 等,并写入 IMAP、CalDAV、CardDAV、JMAP 或 Exchange。它面向需要批量迁移邮箱的系统管理员和托管服务商。

[email protected]演示,虚构数据
  1. 预检
  2. 邮件
  3. 日历
  4. 联系人
  5. 验证
anna.pst
  • 邮件60
  • 日程8
  • 联系人12

IMAPmail.example.com

0 / 60

CalDAVmail.example.com

0 / 8

CardDAVmail.example.com

0 / 12

  • 1空闲
  • 2空闲
  • 3空闲
  • 4空闲
0已导入,共 80 项
0在服务器上已有,不重新发送
0检查后重新发送
0重复项

点击 Start,然后随时切断连接。

生产环境

已无错误迁移超过 500 GB 的邮件,包括日历和联系人。

工作方式

一台服务器,多个邮箱,各有一份报告。

  1. 添加服务器

    选择提供商或任意 IMAP 服务器:地址和端口会自动填好,保存时会进行检查。

  2. 创建迁移

    邮件来自哪里(文件或在线服务器),以及它要写入的邮箱。要一次处理很多:导入 CSV。

  3. 启动

    邮箱面板会说明还缺什么,然后启动迁移。需要的话,可以先试运行。

  4. 跟踪并阅读

    实时跟踪每个邮箱,并阅读每个邮箱各自的报告。

查看所有功能

局限

迁移前请阅读。

先在测试邮箱上验证迁移,再用于生产数据。

  • 一个管理员,一台主机

    共用一个密码,没有账户或角色。SQLite 存放在本地磁盘,没有高可用。

  • Exchange、Microsoft 365 和 Google 尚未在真实服务器上测试

    这些连接器只在模拟服务器上测试过。请先用一个项目较少的邮箱试一试。

  • Microsoft 365 的限制

    通过 Graph 写入的邮件,其接收日期为导入时间。与会者默认以文本形式写入,归档邮箱不会迁移。

  • 未实现 JMAP 日历

    JMAP 提供商的日历请使用 CalDAV。

  • 不处理加密的 PST

    内容已加密或受密码保护的 PST 会报错或被标记为无效。

  • 损坏的 PST 可能让 libpff 崩溃

    受影响的项目会被跳过并记录。崩溃次数超过上限后任务失败,严重损坏的 PST 可能被拒绝。

  • 纯 HTTP

    端口 22362 使用纯 HTTP。请把 mccb 放在反向代理之后,不要直接暴露该端口。

  • 仅限 amd64

    已发布的镜像适用于 linux/amd64。

它不做什么

运行 mccb

打开 http://:22362,用打印出的密码登录。密码只显示一次。详情见文档。

$ mkdir mccb && cd mccb
$ curl -fsSLO https://raw.githubusercontent.com/selfhostr/mccb/main/docker-compose.yml
$ docker compose up -d
$ docker compose logs web | grep -A2 "Admin password"