我被要求解决从已死的旧服务器恢复电子邮件备份的情况。
拥有 Maildir 文件和一些标头数据,我可以通过一些侦探工作轻松确定服务器用于运行 postfix+dovecot 的组合,这与我所说的 postfix+courier 相反。
所以我用 Postfix 3.1.6 和 dovecot-imapd 2.2.27 设置了一个 Debian 9 服务器。
经过几次调整,我们已经看到了这些文件夹,但是电子邮件看起来是乱码。
检查 cur 和 new 目录,电子邮件文件看起来是正常的 Maildir 格式,但打开它们似乎是乱码。
运行命令file
以查找消息均采用 gzip 压缩格式。
这里发生了什么,我是否给了我一个备份,管理员在备份之前压缩了所有邮箱消息文件?
当我进一步探索这个主题时,我觉得有些东西绝对不合适。
我的怀疑也越来越大,因为当解压缩一些消息时,当 dovecot 看到它们时,名称实际上已更新以反映新的更大尺寸。
因此,经过进一步调查,发现鸽舍可以有压缩的地方。
来自在 Dovecot 存储上启用压缩
来自Debian 上的 Compressed Dovecot Maildir。
重启服务
dovecot
:然后,压缩设置将应用于配置更改后创建的所有消息。
来自Dovecot Wiki(Zlib 插件)
或者,由于性能原因不想处理压缩邮箱,批量解压缩它们的方法之一是编写 bash 脚本。
当前脚本有一些缺点,但一般准则是: