Qmailのメールアーカイブ

 
 

このチュートリアルではQmailで構築したメールサーバーのアーカイブについて説明しています。MailStore Serverについての詳細はカスタマーポータルのMailStore資料ダウンロードにある製品マニュアルを参照して下さい。

 

MailStore ServerではQmailのメールデータを複数の方法でアーカイブする事ができます。どの方法でアーカイブを行うかについては、正しいアーカイブ方法の選択を参照して下さい。


1. ユーザー情報の同期

ファイルベースのユーザーデータベースに加え、QmailをベースとしたメールサーバーではSQLデータベースやLDAPでユーザー情報の管理や認証を行う事ができます。MailStore Serverも、Active DirectoryやOpenLDAPのLDAPに対応しているため、これらを使ってMailStoreとPostfix間でユーザー情報の同期を行う事をお薦めします。

注意点:batchを使ったIMAPメールボックスのアーカイブを行う際、MailStore Serverは存在していないユーザーを自動生成します。これらのユーザー認証はMailStoreの統合認証を行うよう設定されます。


2. 個別のメールボックスのアーカイブ

QmailのようなMail transfer agentsはメールの配送と、mail delivery agentとして動作する場合には、ローカルのメールボックスに対する配送の役割しか持ちません。メールボックスの中にあるメールにMailStoreでアクセスする場合は、IMAPやPOP3サービス(一般的にmail retrieval agentと呼ばれています)がメールサーバー上へインストールされている必要があります。IMAPやPOP3でメールサーバーへアクセスできたら、MailStore Serverマニュアルを参照の上、IMAPやPOP3経由でメールボックスのアーカイブを行うよう設定を行います。


3. 1ステップで行う複数メールボックスのアーカイブ

QmailのようなMail transfer agentsはメールの配送と、mail delivery agentとして動作する場合には、ローカルのメールボックスに対する配送の役割しか持ちません。メールボックスの中にあるメールにMailStoreでアクセスする場合は、IMAPやPOP3サービス(一般的にmail retrieval agentと呼ばれています)がメールサーバー上へインストールされている必要があります。IMAPやPOP3でメールサーバーへアクセスできたら、MailStore Serverマニュアルの「Batchを使ったIMAPメールボックスのアーカイブ」を参照の上、設定を行います。


4. 送受信メールを直接アーカイブ

メールを送受信時にアーカイブするには、Qmailで、通常配信に加えて送受信メールのコピーを対象メールボックスへ振分ける事をお薦めします。これを行うためには、Qmailをコンパイルする前にソースコードを編集する必要があります。

 

4-1. Step 1: extra.hの編集

QUEUE_EXTRAは配送ごとに追加の宛先を指定するのに使われる、コンパイル時の引数です。この引数は通常ログを取得する場合などに使われます。

QUEUE_EXTRAを使うには、extra.hを編集し、Trecipient\0に宛先の追加を行った後、QUEUE_EXTRALEN ("\0"は1つの文字列としてカウントされます)の中のQUEUE_EXTRAを指定します。例えば:

 #define QUEUE_EXTRA "Tmailstore\0"
 #define QUEUE_EXTRALEN 11

4-2. Step 2: Qmailのリコンパイル

Qmailが稼働していたらサービスを停止します。qmailctlスクリプトをインストールしている場合は、次のコマンドでサービス停止を行います:

 qmailctl stop

qmailctlスクリプトを使っていない場合は、startup/shutdown スクリプトを使うかqmail-sendでTERMシグナルを送信します。

Qmailのソースフォルダへ移動し、次のコマンドでリビルドを行います:

 make setup check

4-3. Step 3: mailstoreユーザーの準備

  • /var/mailstoreをホームディレクトリとして持つシステムアカウントを作成します。
  • ~alias/.qmail-mailstoreを併せて設定します:
 /var/mailstore/Maildir/

最後にQmailサービスを起動します。

4-4. Step 4: MailStore Serverの設定

MailStoreで新しいメールボックスから定期的にアーカイブを取得するための設定を行います。 (例. 毎日11pm) この設定は、IMAPやPOP3のマルチドロップメールボックスのアーカイブ用プロファイルを使って行います。