:2024:11/23/14:41 ++ [PR]
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
:2007:01/30/21:22 ++ 効果的なスパムメール対策(正規表現によるフィルタリング)
「あなたに逢いたいんです。」 「無料で紹介します。」 っていうような幸運を装った誘惑メール。外人に知り合いがいないのに来る意味のわからない英語のメール。このほとんどが善良な市民を罠にはめてお金をむしり取ろうとする迷惑メール(スパムメール)です。
一説によると、全世界でやりとりされているメールの90%がスパムメールと言われてて、自分の場合も会社に来るメールの8~9割(100件中80~90件/1日)がスパムメールです。いい対処法を知らなかった頃は、スパムメールを自分で選んで削除する必要があったから、メーラーを立ち上げる度に憂鬱な気持ちになってました。
自分の使ってるメーラーのBecky!にはフィルタリング機能があるから、スパムメール共通の文字列を自動検出させてごみ箱に捨てれば簡単なんだけど、スパムメールっていうのは差出人や件名がさまざまだから、共通文字列を抽出することなんてほぼ不可能。ただ幸いことに、その頃来てたスパムメールの大部分は英語のもので、Becky!は正規表現が使えたから、次の2つの条件で大部分を削除できてました。
1.本文に日本語がなかったら削除
・文字列の正規表現:[、-黑]又は[あ-ん]
2.件名がローマ字のみだったら削除
・文字列の正規表現:^([0-9]|[A-Z]|[a-z]|[\-+!\.,:;*'"$?@()#%_ ])+$
でも、時の流れと共にスパムメールの流れも変わってきます。今までほとんどなかった日本語のスパムメールが増殖してきて、自動削除できないスパムメールが日を追う毎に増えてきました。
そんな中、Webですばらしい記事を見つけました。その記事とはBecky!でスパムメールを自動的に90%以上捨てる方法。
原理は、スパムのほとんどがエンドユーザー用回線につながったコンピュータからメールサーバを経由せずに直接ばらまかれているということを利用したもので、メールサーバがアクセス元のIPアドレスをDNSで逆引きした結果が怪しければスパムメールと判断するというもの。この筋では結構有名な理論のようですね。
この原理を実現するBecky!の正規表現は次のようになります。
◇Receivedに次の文字列があったら削除
・文字列の正規表現:from .*\((unknown|\[|[0-9]|[^\.]*[0-9][0-9][0-9][0-9][0-9]|[^\.]*[0-9]+(([a-z]|-)+|\.)[0-9]|\(may be forged\)).* by mail\.example\.jp
※mail\.example\.jpを自分のドメインのメールサーバ名に変更
この条件だけでも十分効果的だけど、更にこの条件に引っかからなくてスパムメールの発信が多いドメインをブラックリストとして登録することで約97%のスパムメールを削除できるとのこと。自分の場合も今実際これに近い比率のスパムメールを削除できてます。
でもBecky!ってシェアウェアなんですよね。残念ながら自分はフリーで正規表現が使えるメーラーを知りません。(T-T)
ただ、メールチェッカーであればフリーで正規表現の使えるもの(チョメール、SpamMailKiller)もあるんで、これを使って同じ機能を実現することは可能ですよ。
他には強力なスパムフィルタを持つプロバイダを利用するって方法もありますけどね。
注意)文中の\は実際には小文字の¥となります。
Blogを応援してもらえたらうれしいです。(^-^)/ ←クリック
- +TRACKBACK URL+