我想要存取 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
,,,, ..)Charity
Junk
如果您希望每個使用者都可以存取特定的備份,您還需要一個完整的使用者資料庫配置。如果您只需要使用 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 檔案來為您提供連接到所有這些的用戶
- 透過您最喜歡的郵件用戶端連接,並將您想要保留的所有內容拖放到您當前的郵件帳戶之一