imapsync 信箱遷移 Plesk 到 Hestia

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

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

難題

當然,如果是這麼簡單就結束了,那這片文章的意義也就不存在了——我有一個更複雜的使用情況,我的客戶需要將郵箱遷移到新的伺服器,使用新的面板,即從 Plesk 遷移到 Hestia。 那麼問題來了,網域只有一個,我怎麼能實現從 A 到 B 但只能使用 A 的情況?

最後我的解決方案是建立一個臨時郵箱,使用網域 B,這樣我就可以先把郵件從 A 同步到 B,然後修改網域配置,將網域名稱解析到新的伺服器,再將郵件從 B 同步回 A。由於此時網域名稱已經解析到了新的伺服器,實際上則是將郵件同步到了新的郵件伺服器上。然後新伺服器上建立的使用者使用相同的帳號和密碼,理論上客戶不需要做任何更改,只要忍耐短時間的服務暫停就可以了。

配置/踩坑

有一些額外的配置需要完成,默認情況下,如果你打開 Hestia 的 webmail,會看到內部錯誤,這是由於檔案權限導致的,使用以下兩個命令修復:

另外,如果你的信箱能成功寄信但不能收到,需要查看 進出口4 日誌: //日誌/出口4/拒絕日誌 ,如果是如下類似錯誤:

那個大機率是由於 Exim4 預設使用的 垃圾郵件屋 列表過於激進。 在我的測試中,它會直接封鎖任何 gmail 郵件,我们可以去掉它。編輯 /等等/出口4/dnsbl.CONF 去掉 zen.垃圾郵件屋.組織 这一行保存即可然后使用命令重启 Exim4 系統控制 重新開始 出口4

影像同步

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

這裡給一個我使用的命令舉例:

值得注意的是,你的密碼應該使用雙引號引起來,這樣可以避免一些特殊符號衝突所導致的命令錯誤。

另外,強烈推薦在你的新伺服器上運行此命令,因為 imapsync 會下載再上傳所有內容-包括附件。這將是一個非常漫長的操作。最理想的情況是在你的新伺服器上運行,這樣數據可以直接下載到你的伺服器,然後本地存入資料庫。尤其像我後期還需要再在同一個伺服器上同步兩個郵箱,而一般家庭寬頻的上傳又很小,真是個大坑。

垃圾郵件以及防毒功能開關

給 Hestia 配置 斯巴馬刺客克拉馬夫 。如果你跟我一樣使用了小記憶體的 Lightsail 作為伺服器,那麼即使你勾選了這兩個模組,它們也可能不會被安裝,這時就需要我們手動安裝它們: 須藤 易於 安裝 斯巴馬刺客 克拉馬夫 克拉馬夫-守護程式

編輯 赫斯提亞 的設定檔 須藤 我們 /USR/本地/赫斯提亞/CONF/赫斯提亞.CONF ,在文件開頭加入如下兩行:

在 Hestia 管理員帳號介面進入設定→出口4 的編輯介面,將下面 4 行取消註釋:

取消垃圾郵件和防毒相關配置的註釋

取消垃圾郵件和防毒相關配置的註釋

然後逐行執行下面的命令來配置 克拉馬夫

還有下面的命令配置 斯巴馬刺客

最後編輯文件 /等等/圓立方體/配置.公司.PHP ,在頂部加入以下內容:

重啟伺服器,然後你就能在 赫斯提亞 郵箱設定介面看到垃圾郵件和防毒的開關了。

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

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

關於作者

R0uter

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

發表評論

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