從舊的 dovecot 伺服器備份存取郵件

從舊的 dovecot 伺服器備份存取郵件

我想要存取 dovecot 郵件伺服器虛擬郵件檔案的存檔副本中的幾 GB 舊郵件。我認為這是 dovecot 的 mdbox 格式的舊版本?伺服器建於 2008 年,存檔於 2011 年。

我正在尋找有關如何將此郵件發送到可以使用雷鳥瀏覽的建議。

如果我可以啟動舊版的 dovecot 來透過 IMAP(可能在 Docker 容器中)提供此郵件,那就太好了。或者也許新版本的 dovecot 可以識別舊格式?也許某種轉換工具?

任何有關識別格式/版本的幫助將不勝感激。我的文件看起來像:

domain/
  username/
    dovecot.index
    dovecot.index.cache
    dovecot.index.log
    dovecot.index.log.2
    dovecot-keywords
    dovecot-uidlist
    maildirsize
    subscriptions
    cur/
      1314076009.V55I369181M295175.mail.exmaple.com:2,STa
    new/
    tmp/
    .folder/
      dovecot.index
      dovecot.index.cache
      dovecot.index.log
      dovecot-keywords
      dovecot-uidlist
      cur
      new
      tmp
    .folder.subfolder/
      dovecot.index
      dovecot.index.cache
      dovecot.index.log
      dovecot-uidlist
      cur
      new
      tmp

當然還有更多的資料夾和更多的郵件文件,文件名稱中帶有標誌,如範例所示。

答案1

您想使用 Dovecotimapd 能夠複製元資料。無需部署舊版本,當前版本(或您最喜歡的發行版支援的最新版本)將可以很好地處理舊備份。

您的備份是該格式的檔案級副本,Maildir++其中包含一些內容鴿舍-特定的元資訊。cur//目錄中的每個檔案都new包含tmp一個 raw (網路訊息格式,請參閱 RFC5322) 郵件。調用的檔案index只是為了更快查找而進行的緩存,uidlist並且keywords包含在其他地方找不到的資訊。

即使您對保留原始 UID 映射不感興趣(如果您想避免下載已緩存在備份時連接的客戶端中的文件,則最有趣),還有一件事未包含在實際中您可能想要恢復的郵件文件和檔案名稱:自訂IMAP 標誌到其名稱的對應。此對應包含在檔案中,dovecot-keywords並告訴郵件伺服器逗號 () 之後附加到檔案名稱的哪個小寫字母a..z表示哪個關鍵字 ( $Forwarded,,,, ..)CharityJunk

如果您希望每個使用者都可以存取特定的備份,您還需要一個完整的使用者資料庫配置。如果您只需要使用 IMAP 用戶端連接到所有內容並使用它複製您需要的內容,您可能需要設定一個 Dovecot 實例,其中所有使用者namespace同時在s 中可見,每個使用者都有一個mail_location=maildir:/domain/username指示Maildir++佈局(而不是fs子資料夾遞歸排列的佈局,而不是點分隔的路徑)。

步驟,大致:

  • 安裝 dovecot-imapd(最好是在尚未運行此類伺服器的伺服器上),以輕鬆隔離備份復原作業和其他郵件
  • mail_uid=vmail建立一個系統使用者並允許其存取這些目錄,然後在 Dovecot 中將其配置為使用 ( )存取郵件的用戶
  • 從預設的 dovecot 配置中,新增namespace與 maildir 根一樣多的區塊(包含 cur/new/tmp/.dotfolders 的資料夾)
  • 新增 passdb 檔案來為您提供連接到所有這些的用戶
  • 透過您最喜歡的郵件用戶端連接,並將您想要保留的所有內容拖放到您當前的郵件帳戶之一

相關內容