3. インストール 一覧へ 5. 設定詳細
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パターンで判定を行います。メールアドレスがパターンにマッチした場合、メールの保存対象と判定されます。メールアドレスと完全一致
(例) SaveMailAddress=localpart@domainpartの場合
メールアドレス 判定 localpart@domainpart メールを保存する testuser001@domainpart メールを保存しない localpart@testdomain メールを保存しない
ドメイン部分と完全に一致
(例) SaveMailAddress=@domainpartの場合
メールアドレス 判定 localpart@domainpart メールを保存する testuser001@domainpart メールを保存する localpart@testdomain メールを保存しない
ドメイン部分と後方一致
(例) SaveMailAddress=domainの場合
メールアドレス 判定 localpart@domainpart メールを保存しない testuser001@domainpart メールを保存しない localpart@testdomain メールを保存する
以下の条件のとき、各設定値の組み合わせによる判定例を表に示します。
- 送信者アドレス: test01@example.com
- 受信者アドレス: test02@example2.co.jp
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が示す値は表のとおりです。
- SavePolicy=both
- MailDir=/var/messasy/Maildir
- 送信元アドレス:sender@senderdomain
- 受信者アドレス:rcpt@rcptdomain
フォーマット文字列 値 %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.