古いdovecotサーバーのバックアップからメールにアクセスする

古いdovecotサーバーのバックアップからメールにアクセスする

dovecot メール サーバーの仮想メールボックス ファイルのアーカイブ コピーにある数ギガバイトの古いメールにアクセスしたいのですが、dovecot の mdbox 形式の古いバージョンだと思います。サーバーは 2008 年に構築され、アーカイブは 2011 年に取得されました。mdbox 1.1 ではないかと思います。

このメールを Thunderbird で閲覧できる状態にする方法についてアドバイスを求めています。

古いバージョンの 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

Dovecotを使いたいメタデータをコピーできるようにするには、imapd を使用します。古いバージョンを導入する必要はありません。現在のバージョン (またはお気に入りのディストリビューションでサポートされている最新バージョン) は、古いバックアップでも問題なく動作します。

Maildir++バックアップは、いくつかのフォーマットのファイルレベルのコピーです鳩小屋固有のメタ情報。/ /ディレクトリ内の各ファイルにはcur、1つの生の(newtmpインターネットメッセージフォーマット(RFC5322 を参照)メール。呼び出されるファイルは、index検索を高速化するための単なるキャッシュであり、およびuidlistkeywordsは他では見つからない情報が含まれています。

元の UID マッピングを保持することに興味がない場合でも (バックアップ時に接続されたクライアントに既にキャッシュされているファイルのダウンロードを避けたい場合など)、復元する可能性のある実際のメール ファイルとファイル名には含まれていないもう 1 つのものがあります。それは、カスタム IMAP フラグとファイル名のマッピングです。このマッピングはファイルに含まれておりdovecot-keywords、ファイル名のコンマ ( ) の後に続く小文字のどれがa..zどのキーワード ( $ForwardedCharityJunk、 ..)を意味するかをメール サーバーに伝えます。

各ユーザーが特定のバックアップにアクセスできるようにするには、ユーザー DB も含めた完全な構成が必要です。IMAP クライアントですべてに接続し、それを使用して必要なものをコピーするだけの場合は、すべてのユーザーが で同時に表示されnamespace、各ユーザーにはレイアウトmail_location=maildir:/domain/usernameを示すがある Dovecot インスタンスを設定する必要がありますMaildir++(サブフォルダーがドットで区切られたパスではなく再帰的に配置されるレイアウトとは対照的ですfs)。

大まかな手順:

  • dovecot-imapdをインストールします。理想的には、そのようなサーバーがまだ実行されていないサーバーにインストールして、バックアップと復元操作と他のメールを分離しやすくします。
  • システムユーザーを作成し、それらのディレクトリへのアクセスを許可してから、Dovecotでメールにアクセスするユーザーとして設定します(mail_uid=vmail
  • デフォルトのdovecot設定から、namespacemaildirルート(cur/new/tmp/.dotfoldersを含むフォルダ)と同じ数のブロックを追加します。
  • これらすべてに接続するためのユーザーを提供するpassdbファイルを追加します
  • お気に入りのメールクライアント経由で接続し、保存したいものをすべて現在のメールアカウントの1つにドラッグアンドドロップします。

関連情報