ここでは、メッセージフィルタに含まれる機能(メッセージフィルタ機能)について説明します。
メッセージフィルタ機能は、メールの解析処理において、メールをチェックします。これにより、ヘッダに任意の文字列を含むメールをフィルタリングすることが可能となり、不必要なスパムメールがTeamWARE Office内部に配信されるのを防ぐことができます。
メッセージフィルタ機能では、一致条件に合致するヘッダを持つメールに対して、以下のいずれかのフィルタ操作を行うことができます。メールがRewriteとRedirectのそれぞれの条件に一致した場合は、両方のフィルタ操作が適用されます。
delete:メールをMIMEゲートウェイのSMTPキューから移動することで破棄する
rewrite:指定した文字列をメールの表題に挿入して配信する
redirect:指定した別のメールボックス(TeamWARE Officeユーザ)にメールを配信する
メッセージフィルタ機能のフィルタ定義は、messagefiltersファイルに記述します。
messagefiltersの定義のフォーマットを以下に示します。
{Header}:{Pattern}, {Action}, {Logging} |
フォーマット | 値 | 説明 |
---|---|---|
Header | 文字列 | チェックするメールのヘッダ名を記述します。 |
Pattern | 文字列 | 一致条件の文字列を記述します。日本語文字を指定する場合は、SJISコードで記述します。 |
Action | delete | rewriteの場合は、「:」で区切って、表題の先頭に挿入する文字列を記述します。 |
logging | on または off | onの場合、動作ログを出力します。 |
なお、Patternには、カンマ「,」を含む文字列は指定できません。
messagefiltersのフォーマットに違反した場合、以下のようなメッセージがspamfilter.logに出力されます。
#tomime# INFO 2004-01-16 05:40.46 pid:444/1772 1bc/6ec 128 |
以下にActionの動作について説明します。
delete
メールのキューファイルはsmtp/spamディレクトリに移動されます。
redirect:user@address
メールを指定したアドレスに配信します。その際、BCC受信者はTO種別に変えられます。実際に配信されるのは指定されたアドレスだけです。
rewrite:text
メールの表題に指定された文字列を挿入します。対象となるのは、トップレベルのメールの表題だけです。なお、挿入した結果、TeamWARE Officeの表題最大長(128Byte)を超えた場合、超えた部分は切り捨てられます。
messagefiltersの記述例を以下に示します。
From:spammer@badmail.com, redirect:spambox@thissite.com, on |
メッセージフィルタ機能を使用するためには、メールヘッダと一致条件の文字列を設定する必要があります。以下にメールのヘッダ名と内容について説明します。
From
Fromヘッダには、送信者アドレスが指定されています。一致条件に送信者アドレスを記述すれば、特定の送信者からのメールをフィルタリングすることが可能です。
To
Toヘッダには、正受信者アドレスが指定されています。一致条件に受信者アドレスを記述すれば、特定の受信者を含むメールをフィルタリングすることが可能です。
Cc
Ccヘッダには、写受信者アドレスが指定されています。一致条件に受信者アドレスを記述すれば、特定の受信者を含むメールをフィルタリングすることが可能です。
Subject
Subjectヘッダには、メールの表題が指定されています。一致条件に表題の文字列を記述すれば、特定の表題のメールをフィルタリングすることが可能です。
Content-Type
Content-Typeヘッダには、メールの種別や添付ファイル名が指定されています。一致条件に添付ファイル名の文字列を記述すれば、特定の添付ファイル名をもつメールをフィルタリングすることが可能です。
メッセージフィルタ機能の一致条件について
メッセージフィルタ機能は、一致条件に書かれた文字列とヘッダの文字列を比較します。
指定された文字列がコマンドに含まれた場合、一致したと判断します。なお、一致条件{Pattern}を省略した場合、すべてに一致することになります。
メッセージフィルタ機能では"*"文字によるワイルドカード指定ができます。なお、"*"文字は一致条件の一番前か、一番後ろに指定することができます。
一致条件文字列
文字列の前後に"*"がない場合、完全一致でチェックされます。
*一致条件文字列
文字列の前に"*"をつけた場合は、後方一致でチェックされます。
一致条件文字列*
文字列の後ろに"*"をつけた場合は、前方一致でチェックされます。
*一致条件文字列*
文字列の前後に"*"をつけた場合は、部分一致でチェックされます。
メッセージフィルタの記述例を以下に示します。
From:*spammer@badmail.com*, redirect:spambox@thissite.com, on |
From、To、Cc、Content-Typeヘッダには、名前やファイル名以外の情報も含まれています。したがって、これらのヘッダの文字列をフィルタリングするときは、一致文字列の前後を"*"で括る必要があります。
メッセージフィルタ機能のログ出力
メッセージフィルタにチェックされた場合、spamfilter.logにログを出力します。
以下にログの例を示します。
Actionがrewriteの場合
#tomime# INFO 2004-01-08 06:00.19 pid:316/1408 13c/580 128 |
Actionがredirectの場合
#tomime# INFO 2004-01-08 06:01.14 pid:316/1408 13c/580 128 |
Actionがdeleteの場合
#tomime# INFO 2004-01-08 06:02.02 pid:316/1408 13c/580 128 |
レポートメールについて
外部からTeamWARE Office内部に送られてきたレポートメール(DSN/MDNレポート)に対してもメッセージフィルタは有効となります。ただし、レポートメールは、TeamWARE Office内部のレポート形式に変換されてしまうため、エンドユーザには見えません。したがって、レポートメールに対するフィルタリングのアクションは、Deleteしか意味を持ちません。また、チェック時のメール情報(070413、070414)もspamfilters.logには出力されません。
smtp/spamディレクトリに移動されたメールについて
Acttionがdeleteの場合、削除されたキューファイルはsmtp/spamディレクトリに移動されます。このspamディレクトリのファイルは、MIMEゲートウェイのCleanup_daysオプションにより自動削除が可能です。詳細は"8.4.2 MIMEゲートウェイの監視"を参照してください。