如何迁移邮件而不丢失数据或停机
迁移邮件并非复制静态文件,而是同步仍在收信和变化的数据库。错误会造成分流和邮件丢失。
本文提供小企业的分阶段计划,涵盖 DNS、IMAP、切换和验证。但无法保证绝对零停机或零丢失。
邮件迁移为何失败
三个常见疏忽会导致多数问题。
DNS 缓存:若不预先降低 TTL,邮件可能在新旧服务器间持续分流 24 小时。
限速:本文示例中 Google 的 IMAP 下载约限制为 2,500 MB/day。
范围错误:IMAP 只迁移邮件,日历和联系人需通过 CalDAV/CardDAV 或专有格式另行处理。
阶段 1:全面盘点 (T-Minus 7 Days)
迁移前建立技术清单,不要依赖记忆。
盘点隐藏身份
用户列表并不够,还要记录入口:
- 别名:
john@是否也接收sales@?漏建会造成退信。 - 分发列表:
team@和info@是共享邮箱还是转发组? - 转发:审核服务器规则,并安全重建必要且获准的外部转发。
识别超大邮箱
找出超过 10 GB 的邮箱。50 GB 邮箱不会迅速完成。示例中 Microsoft 365 约在 20 GB/day 后限速,应至少提前 5 days 预迁移。当前限制见 Google Workspace 迁移指南。
IMAP 只迁移邮件
imapsync 和 TrekMail 引擎使用 IMAP (RFC 3501),只传输邮件。
日历和联系人位于 Exchange、CalDAV 或其他格式。把日历导出为 .ics,联系人导出为 .vcf 或 .csv,并在取消旧订阅之前验证文件。
阶段 2:准备基础设施 (T-Minus 48 Hours)
先准备目标和路由,再处理数据。
DNS TTL 的 300 秒规则
TTL 决定缓存时间。若为 86,400 seconds (24 hours),切换后仍可能使用旧服务器。
在 Cloudflare、GoDaddy 或 Route53 等提供商处将 MX TTL 设为 300 seconds,至少提前 24 hours。部分解析器可能缓存更久。
dig yourdomain.com MX +short
准备目标
创建目标邮箱。TrekMail 用户在面板设置域名和用户。Nano 套餐按需配置 SES/Mailgun BYO SMTP 并测试发信。
准备获准的源邮箱密码、应用密码或管理员迁移凭据,并安全保管。
阶段 3:预同步策略
避免一次性整体迁移,分阶段可降低风险。
步骤 1:历史数据 (T-Minus 3 Days)
先同步早于 7 days 的邮件,可能提前搬走约 95% 数据。若 2 GB 附件失败,可更早处理,目标限制仍可能阻止它。
注意 HTTP 429 和限速错误,必要时同时只处理 5 users,而不是 50。
步骤 2:冻结 (T-Zero, Friday Evening)
提前通知用户。只读源可减少遗漏变更。仅在获准且有恢复方案时更改密码。
步骤 3:增量同步
再次抓取最近 7 days 和受支持变更。即使已有 95%,耗时仍取决于数据和限速;删除操作不应未经检查直接镜像。
阶段 4:切换
更改 MX
更新 MX。TrekMail 本文值为:
10 mx1.trekmail.net
20 mx2.trekmail.net
300-second TTL 可加速切换,但 DNS 缓存和邮件队列意味着无法保证立即完成。
SPF 与 DKIM 认证
更换主机时更新认证。错误设置增加垃圾邮件风险,正确设置也不保证进入收件箱。
- SPF:更新 TXT,例如
v=spf1 include:spf.trekmail.net -all。 - DKIM:在新提供商生成密钥并添加所需 CNAME/TXT。
详见设置域名邮箱。
旧服务残留检查
若保留 Google Workspace 的 Drive/Docs,内部邮件可能仍被 Gmail 接收。应为相关用户停用 Gmail 或谨慎设置 split delivery。
阶段 5:验证
不要只问用户,应使用可记录的指标核对。
比较项目数而非容量
不同提供商压缩方式不同,应比较各文件夹的项目数:
| 文件夹 | 源项目 | 目标项目 | 状态 |
|---|---|---|---|
| 收件箱 | 4,102 | 4,102 | 通过 |
| 已发送 | 2,340 | 2,338 | 通过 (<1%) |
低于 1% 可能来自损坏项目,但也应记录。超过 5% 必须调查;少量差异也可能包含重要邮件。
文件夹层级
检查 Clients/2024/Project A/Invoices/Paid 等深层路径,以及 INBOX.Sent 与 Sent 的命名差异。
常见故障处理
| 错误 | 含义 | 处理 |
|---|---|---|
HTTP 429 | 源提供商限速 | 指数退避,等待 5 min,再 10 min |
| 认证失败 | 凭据错误或 2FA 阻止 | 使用应用密码,普通密码在 2FA 下往往无效 |
| 创建文件夹失败 | 名称字符非法 | 在源端重命名为兼容名称 |
| 邮件过大 | 目标拒绝 >25 MB | 单独保存并按政策迁移 |
TrekMail 内置迁移引擎
TrekMail 可简化受支持的 IMAP 重试、限速与 DNS 流程,但不能消除提供商限制或结果验证。
小企业 (1 到 50 Users)
引擎连接受支持的 Gmail、Outlook 和 cPanel,按当前能力处理重试、限速和去重。非邮件数据需另行迁移。
代理商 (100+ Domains)
多客户场景可使用批量操作、跨域名共享存储和当前固定费率。
| 套餐 | 价格 | 迁移引擎 | 适用场景 |
|---|---|---|---|
| 免费 | $0 | 包含 | 测试和个人 |
| Starter | $3.50/mo | 包含 | 小团队 |
| Pro | $10/mo | 包含 | 成长企业 |
| Agency | $23.25/mo | 包含 + 批量工具 | MSP 和代理商 |
按所述价格,付费套餐含需银行卡的 14-day 试用,Nano 无须银行卡。请核对当前条件。
结论:正确迁移邮件
预迁移数据,把 TTL 降到 300 seconds,运行增量同步并比较项目数。核对两端,并单独处理日历、联系人及企业邮件需求。
按当前条件,创建免费 TrekMail 账户可使用内置工具。请验证适用性、限制和结果。