スパムを検出する

特定の場合においては、すべてのスパムメッセージを指定されている受信者に配信することが望ましいことがあります。たとえば、サイト管理者が PureMessage の初期テストや最適化を実行するときなどがこれに該当します。このような状況では、スパム検知フィルタは、スパムを特定し、全メッセージにスパム確率を記載して受信者へ配信する上で有効な機能です。最適化の処理中に、メールの受信者は特定のフィルタに正確性に対してコメントを返すことも可能です。

「スパム検知」フィルタを使用するには、オプションの「PureMessage-Policy-Spam」コンポーネントが必要です。
# attr NAME=spam detection
# Detects spam probability over 50%.
# Prefixes 'Subject' header with '[SPAM:]'.
# Adds an 'X-PMX-Spam' header.
if pmx_spam_prob :over 50 {
    pmx_replace_header "Subject" "[SPAM:%%GAUGE%%] %%SUBJECT%%";
    pmx_add_header "X-PMX-Spam" "Probability=%%PROB%%";
    stop;
}

説明:

  • pmx_spam_prob テストで、メッセージのスパムスコアが 50% 以上であることが判明した場合
    • pmx_replace_header のアクションによって メッセージの「Subject」(件名) に以下のような文字列を先頭に追加します。[SPAM:###] に表示される「#」の文字は、1 つ追加されるごとに pmx_spam_prob の引数を 10% 超えることを表します (少なくとも 1つの「#」が各メッセージに対して常に追加され、メッセージに 0~50% の確率でスパムが含まれていることを示します)。

      :このフィルタを使用すると、スパム確率が 60% のメッセージは「Subject」ヘッダの前に [SPAM:##] が追加されることになります。スパム確率が 50% のみのメッセージの場合には、「Subject」ヘッダに [SPAM:#] が追加されることになります。

    • その後、pmx_add_header アクションによって、スパム確率を数値で示す「X-PMX-Spam」ヘッダが追加されます。メッセージヘッダは以下のように表示されます。
      X-PMX-Spam:Probability=63%
    • stop コマンドによってメッセージ処理が終了します。

フィルタの設置場所

「spam detection」フィルタは、ポリシースクリプト 6:「Calculate Spam Probability, Modify and Deliver 」(スパムスコアを計算し、変更して配信) にあるフィルタと置き換わります。このデフォルトポリシーフィルタの最初の部分を「spam detection」フィルタと置き換えることで以下が可能になります。

  • 外部ホストからのメッセージのスパム確率が 50% を上回る場合、「spam detection」フィルタが実行されます。
  • スパム確率が 50% 以上のメッセージは隔離されません。該当するスパム確率を示すヘッダが追加されます。