オープンソース

一覧へ

4. 機能詳細

4.1. メール保存形式の変更

Messasyでメールを保存するためには、モジュールを有効化する必要があります。
利用可能なモジュールは以下の通りです。

  • maildrop: メールをプレインテキストで保存します
  • gzip: メールをgzip形式で圧縮して保存します
  • enczip: メールをパスワード付きZIP形式で圧縮して保存します
  • lda: メールをローカル配送エージェント(dovecot-lda等)に渡して処理します
モジュールは複数有効化することも可能です。
その場合、有効化したモジュールがすべて適用されます。
モジュール毎の設定項目については、 設定詳細 を参照してください。

4.2. メール保存条件の設定

Messasyには、受信したメールを保存するかしないか判定する機能があります。

判定には以下の値を使用します。

  • 送信元アドレス
  • 受信者アドレス
  • メールのヘッダー情報

判定の流れは以下の図のようになっています。

メール保存の判定フロー

図:メール保存の判定フロー

判定に関係する設定項目は、以下のものがあります。

  • SavePolicy

    From, Toのどちらのアドレスを、メール保存の判定に使用するか指定します。
    指定できる値は以下の通りです。
    - both: From, Toのいずれも判定対象とする
    - onlyfrom: Fromアドレスのみを判定対象とする
    - onlyto: Toアドレスのみを判定対象とする
    - none: From, Toのいずれも判定対象としない
    noneを指定した場合、メールの保存は行われません。サーバにメールを残したくない場合などに指定します。

  • MyDomain

    メールの保存対象とするドメイン名を指定します。
    SavePolicyで判定対象としたメールアドレスのドメイン部が、
    指定したドメインと一致した場合に、メールの保存対象と判定されます。
    ドメインは複数指定することができます。

  • SaveMailAddress

    メールの保存対象と判定するメールアドレスのパターンを指定します。
    SavePolicyで判定対象としたメールアドレスが、MyDomainで保存対象と判定された場合に、以下の3パターンで判定を行います。
    メールアドレスがパターンにマッチした場合、メールの保存対象と判定されます。




以下の条件のとき、各設定値の組み合わせによる判定例を表に示します。

SavePolicy MyDomain SaveMailAddress 判定
both example.com com メールを保存する
both sample.com com メールを保存しない
onlyfrom example.com com メールを保存する
onlyfrom example.com co.jp メールを保存しない
onlyto example2.com co.jp メールを保存する
onlyto example2.com com メールを保存しない

4.3. LDAP連携設定

メール保存の判定には、LDAPの情報を使用することができます。
LdapMailFilterに指定したフィルタでLDAP検索を行い、検索結果が得られた場合にメールを保存します。
LDAPの情報を使用した判定は、SaveMailAddressに一致しなかった場合に行われます。

4.4. ヘッダー情報を利用したメール保存条件の設定

ヘッダーの情報を使用して、判定を行うこともできます。
SaveIgnoreHeaderに指定したパターンにマッチするヘッダーがメールに含まれていた場合、メールの保存を行ないません。
(設定例) SaveIgnoreHeader=X-TEST: *

4.5. 保存メールディレクトリの形式の指定

messasy.confでメールの保存先ディレクトリを指定することができます。
有効化した モジュール 毎に設定が必要です。
モジュールと設定項目の対応は以下の通りです。
モジュール名 設定項目
maildrop MailDir,MailFolder
gzip GzipMailDir,GzipMailFolder
enczip EncGzipDir,EncZipFolder
複数のモジュールを有効化した場合、対応した設定項目のディレクトリにそれぞれメールが保存されます。

本章では、maildropモジュールを有効化した場合で解説を行います。
設定できる値はどのモジュールでも同じです。
設定例は下記の通りです。MailDirにはメールを保存するベースのディレクトリ、
MailFolderにはメールを保存するディレクトリ名のフォーマットを指定します。
MailDir=/var/messasy/Maildir
MailFolder=.%y.%m.%d
この場合、/var/messasy/Maildir/.YYYY.MM.DDにメールが保存されます。

MailFolderには、フォーマット文字列を使用することができます。
以下のフォーマット文字列を使用することができます。
フォーマット文字列 説明
%y 年(YYYY)
%m 月(MM)
%d 日(DD)
%D 保存対象アドレスのドメイン部
%M 保存対象アドレス
%Dと%Mが対象とするアドレスは、SavePolicyで指定したアドレスです。
(例)

例えば、以下の条件の場合、%Dと%Mが示す値は表のとおりです。

フォーマット文字列
%D senderdomain, rcptdomain
%M sender@senderdomain, rcpt@rcptdomain

4.6. 管理インタフェース

コマンドポートに接続することで、管理インタフェースを利用することができます。
RELOADコマンドを実行することにより、Messasyサービスを再起動せずに設定の再読み込みができます。
再読み込みにより反映できる設定項目は、設定詳細 を参照してください。

messasy.confのAdminPasswordを「admin」、CommandPortを「17777」とした場合の実行例が以下になります。
$ telnet localhost 17777
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Welcome to Messasy (Version 3.02)
LOGIN admin
+OK logged in successfully
RELOAD
+OK reloaded successfully
QUIT
+OK good-bye
Connection closed by foreign host.
一覧へ