スパムメッセージを隔離する

以下の「quarantine spam」(スパム隔離) フィルタを使用して、受信者のメールボックスへ送信されるスパムメッセージの数を減少させることができます。「quarantine spam」(スパム隔離) フィルタはポリシースクリプト 6:""「Calculate Spam Probability, Modify and Deliver 」(スパムスコアを計算し、変更して配信) にあるフィルタと置き換わります。デフォルトのポリシースクリプト フィルタとは異なり、「quarantine spam」(スパム隔離) フィルタはスパムスコアが 80% を上回る場合にメッセージを隔離します。(デフォルトのポリシースクリプトの場合、スパムスコアが 50% を上回る場合にメッセージを「保管」するだけです。pmx-policy の man ページの pmx_file コマンドをご覧ください。

# attr NAME=quarantine spam
# Quarantines spam if probability over 80%.
# Else, delivers message if probability over 50%.
# Prefixes "Subject" header with "[SPAM:]".
# Adds an "X-PMX-Spam" header.
if pmx_spam_prob :over 80 {
    pmx_quarantine "Spam";
    stop;
}
elsif pmx_spam_prob :over 50 {
    pmx_replace_header "Subject" "[SPAM:%%GAUGE%%] %%SUBJECT%%";
    pmx_add_header "X-PMX-Spam" "Probability=%%PROB%%";
}

説明:

  • pmx_spam_prob テストで、メッセージのスパムスコアが 80% 以上であることが判明した場合
    • pmx_quarantine のアクションによって、メッセージは「Spam」(スパム) という理由で PureMessage 隔離ディレクトリにコピーされます。この文字列は 1つの単語である必要があります。複数の単語が使用された場合、単語間のスペースはアンダースコアに置き換えられます。たとえば、「message is spam」は「message_is_spam」になります。隔離されたメッセージは、PureMessage Manager や隔離ツールを使用して、閲覧、取り出し、およびダイジェストへの集計ができます。
    • stop コマンドによってメッセージ処理が終了します。
  • pmx_spam_prob テストで、メッセージのスパムスコアが 50% 以上であることが判明した場合
    • pmx_replace_header のアクションによって メッセージの「Subject」(件名) に以下のような文字列を先頭に追加します。[SPAM:###] に表示される「#」の文字は、1 つ追加されるごとに pmx_spam_prob の引数を 10% 超えることを表します (少なくとも 1つの「#」が各メッセージに対して常に追加され、メッセージに 0~50% の確率でスパムが含まれていることを示します)。
    • pmx_add_header アクションによって、最終的なスパム確率を示す「X-PMX-Spam」ヘッダが追加されます。

フィルタの設置場所

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

  • 外部ホストからのメッセージのスパム確率が 80% またが 50% を上回る場合「quarantine spam」フィルタが実行されます。
  • スパムスコアが 80% を上回るメッセージは隔離されます。
  • スパムスコアが 50% ~ 79 % のメッセージは、追加ヘッダが加えられて受信者へ配信されます。