Exchange

推薦 Dovecot / Thunderbird 到 Exchange / Outlook 遷移策略

  • March 8, 2021

我們正在將大約 60 個使用者郵箱從 Postfix/Dovecot/Maildir 設置移動到 Exchange 2007。我知道Microsoft 的 Transporter Suite,它將允許郵箱的 IMAP 到 Exchange 的批量轉換。但是,如果出現不可預見的問題,如何清理一個拙劣的過程是一個問題。顯然,嘗試為使用者刪除損壞的 Exchange 郵箱也會導致一個聽起來相當嚇人的對話框,這意味著使用者帳戶也將被刪除,而不僅僅是損壞的郵箱本身。雖然原始電子郵件儲存(Maildir 格式)可用,但我們需要能夠刪除有問題的壞盒子並重複該過程,因此這種方法不是一個可行的選擇。

在這一點上,我非常擔心在沒有大量人工干預的情況下影響批處理或批量樣式的轉換。我們試圖通過使用 Outlook 或 Thunderbird 作為“樞軸”代理來避免訪問 50 多個桌面和手動移動電子郵件;雖然這可以保證 100% 有效,但一次將超過 250 萬條消息轉移到一個帳戶需要數週或數月的時間。

所以我開始研究其他工具和方法,包括開源的和商業的。

我嘗試的第一個是OfflineIMAP,事實證明,它對Exchange 不是很友好;遷移過程的一個微妙影響會導致Exchange 的命名屬性耗盡,因為每個移動的電子郵件都會生成一個唯一的標頭。 為此提供了一個更新檔,可將唯一標頭更改為單個通用標頭,該標頭後面有唯一標識符,從而避免了耗盡問題。然而,在應用更新檔後,仍然存在一些問題。真的很遺憾,因為讓它們保持同步會很好。

在商業方面,我簡要介紹了Transend Migrator的試用模式。結果好壞參半,似乎很少有隨二進製文件一起提供的文件。這並不令人鼓舞,尤其是對於最終使用者在出現嚴重錯誤時會很容易注意到的事情。

還有其他問題。郵箱儲存為 Maildir,但郵箱名稱符合 Thunderbird 的預期(我們已經使用 TBird 好幾年了)。許多盒子名稱不匹配(Sent vs. Sent Items、Trash vs. Deleted Items 等),需要在移植時進行有效翻譯。是的,我們非常寵愛我們的最終使用者 - 成功的遷移將包括通知他們我們正在切換到 O​​utlook,並為每個人提供 30 分鐘的小型課程,然後人們第一次打開他們基於 Exchange 的新郵箱。

某人,某處肯定有一些有用的東西……

編輯:後續行動

用 Ruby 編寫的 larch 腳本提供了最簡單的解決方案,儘管有一些警告。這是發生的事情的一個高度濃縮的版本:

  1. 獲取使用者的使用者名和密碼。轉換後重置密碼。
  2. 通過 IMAP 連接到使用者的郵箱,並確保訂閱了收件箱,並且所有郵件都標記為已讀。Exchange 端存在一個問題,如果郵件未讀且處於某種狀態,可能會阻止郵件成功導入…
  3. 將後綴傳輸映射更改為指向 Exchange 伺服器,這會導致所有新的郵件到達 Exchange 伺服器,而不是目前的電子郵件伺服器。
  4. 使用larch命令移動電子郵件,省略使用者的垃圾箱。我們不得不放棄並忽略這一點,因為有些使用者將垃圾箱變成了個人檔案系統。
  5. 請注意任何未轉換的消息。重新檢查並再次嘗試重新複製它們。這只會移動較新的消息。
  6. 在 MySQL 中創建一條記錄,指示 Dovecot 進入該使用者的代理模式,並將記錄指向 Exchange 伺服器。這允許現有客戶端保持不變,直到我們準備好設置他們的 Outlook 安裝。
  7. 重新連接到使用者的收件箱並檢查是否複製了所有郵件。

最好的方法是使用 imap!

您可以通過在 Outlook 中為每個使用者提供兩個帳戶來讓每個使用者自己移動郵件。

我使用帶有 Debian 軟體包“uw-mailutils”的單獨 linux 框和以下命令從 Cyrus 遷移到 Exchange 2003:

mailutil transfer -verbose {imap.xxx.org:143/imap/user=m_xxx}收件箱 {exchange.xxxx.org:143/imap/user=m_xxx@exchange.xxxx.org} 收件箱

mailutil 來自 UW-IMAP 項目。每個 Linux 發行版都應該包含它。

當它失敗時(它沒有),我會進入交換帳戶並刪除“收件箱”

引用自:https://serverfault.com/questions/8415