imapsync 信箱遷移 Plesk 到 Hestia

通常來說,可能不是很多人會遇到這種情況,就是你想要更換信箱,但又需要將目前信箱的郵件帶過去。但一旦發生,你就會發現,一個和互聯網幾乎相同年齡的東西,居然沒有一個成熟的匯出和匯入功能。

比這更令人頭痛的是,如果你是一個郵件伺服器管理員,你就悲慘的發現,有伺服器權限也不行。郵箱裡的內容是使用特殊各式存放的,它不是一個簡單的資料庫,需要使用相應的服務進行存取,直接移動檔案很可能導致資料損壞,得不偿失imapsync 就派上用场了它直接使用邮件的 IMAP 協議,下载旧邮箱的数据然后同步到新的邮箱邮件的发件人收件人,時間,附件等等等等一应俱全!

难题

當然,如果是这么简单就结束了那这片文章的意义也就不存在了——我有一个更复杂的使用情况我的客户需要将邮箱迁移到新的服务器使用新的面板,即从 Plesk 迁移到 Hestia。 那麼問題來了,域名只有一个我怎么才能实现从 A 到 B 但只能使用 A 的情况呢?

最后我的解决方案是创建一个临时邮箱使用域名 B这样我就可以先把邮件从 A 同步到 B然后修改域名配置将域名解析到新的服务器再将邮件从 B 同步回 A由于此时域名已经解析到了新的服务器实际上则是将邮件同步到了新的邮件服务器上然后新服务器上创建的用户使用同样的账号和密码理论上客户不需要做任何更改只要忍耐短时间的服务暂停就可以了

配置/踩坑

有一些额外的配置需要完成,默認情況下,如果你打开 Hestia 的 webmail会看到内部错误这是由于文件权限导致的使用以下两个命令修复

另外,如果你的邮箱能成功发送邮件但不能收到需要查看 Exim4 日誌: //日誌/exim4/rejectlog如果是如下类似错误

那大概率是由于 Exim4 默认使用的 spamhaus 列表过于激进在我的测试中它会直接屏蔽任何 gmail 邮件我们可以去掉它。編輯 /等等/exim4/dnsbl.CONF 去掉 zen.spamhaus.組織 这一行保存即可然后使用命令重启 Exim4 系統控制 重新開始 exim4

imapsync

如果你恰好和我一样使用 蘋果系統 的話,請不要使用 自製 來安裝 imapsync。從 2021 年开始brew 安装的 imapsync 就有奇怪的内存泄露问题该问题至今没有得到修复(没错我也遇到了)方便省心的解决办法是安装依赖后在 Ubuntu 上直接运行它当然如果你觉得麻烦也可以使用 Docker这里我找到了一个支持 arm64 的镜像 你可以直接使用这个镜像来跑 imapsync稳定高效!

这里给出一个我使用的命令举例

值得注意的是,你的密码应该使用双引号引起来这样可以避免一些特殊符号冲突导致的命令错误

另外,强烈推荐在你的新服务器上运行此命令因为 imapsync 会下载再上传所有内容——包括附件这将是一个非常漫长的操作最理想的情况是在你的新服务器上运行这样数据可以直接下载到你的服务器然后本地存入数据库尤其像我后期还需要再在同一个服务器上同步两个邮箱而普通家庭宽带的上传又很小真是个大坑

垃圾邮件以及杀毒功能开关

给 Hestia 配置 spamassassinclamaav 如果你和我一样使用了小内存的 Lightsail 作为服务器那么即使你勾选了这两个模块它们也可能不会被安装这时就需要我们手动安装它们須藤 易於 安裝 spamassassin clamav clamav-daemon

編輯 赫斯提亞 的配置文件 須藤 我們 /USR/本地/hestia/CONF/hestia.CONF在文件开头加入如下两行

在 Hestia 管理员账户界面进入设置→exim4 的编辑界面将下面 4 行取消注释

取消垃圾邮件和杀毒相关配置的注释

取消垃圾邮件和杀毒相关配置的注释

然后逐行执行下面的命令来配置 clamav

还有下面的命令配置 spamassassin

最后编辑文件 /等等/roundcube/配置.inc.PHP在顶部加入以下内容

重启服务器然后你就能在 赫斯提亞 邮箱配置界面看到垃圾邮件和杀毒的开关了

本文由 落格博客 原創撰寫:落格博客 » imapsync 信箱遷移 Plesk 到 Hestia

轉載請保留出處和原文鏈接:https://www.logcg.com/archives/3853.html

關於作者

R0uter

如非聲明,本人所著文章均為原創手打,轉載請註明本頁面鏈接和我的名字。

發表評論

您的電子郵件地址不會被公開. 必填字段標 *