SpamAssassin
SpamAssassinは、以下のような機能もスパム検出手段としてサポートしている。
DNS-ベースのブラックホールリスト
SURBLやURIBL.comなどのURIブラックリスト(スパム発信元を監視しているサイト)
チェックサムベースのフィルタリング。Distributed Checksum Clearinghouse、Vipul's Razor、Cloudmark Authority プラグイン(商用)など。
Hashcash
Sender Policy Framework
多くの場合、SpamAssassin用プラグインをPerlで書くことで追加でき、比較的簡単に追加できる。
SpamAssassin(スパムアサシン)は、コンテンツマッチング規則に基づいたスパムフィルタリングのプログラムであり、Apache License 2.0 でリリースされている。現在はApacheソフトウェア財団のプロジェクトとして実施されている。
SpamAssassinは様々なスパム検出技法を使っており、例えばDNSベースの技法、チェックサムベースの技法、ベイジアンフィルタ、外部プログラム、ブラックリスト、オンラインのデータベースなどを利用する。
このプログラムはメールサーバに組み込んで、そのサイトに到達した全メールを自動的にフィルタリングするのに使うことができる。また、電子メールクライアントに組み込んで、個々のユーザーが自身のメールボックス上で動作させることもできる。SpamAssassin は柔軟な設定が可能で、システム全体のフィルターとして使う場合でも、ユーザー単位の設定が可能である。
SpamAssassinは Linux New Media Award 2006 でLinuxベースのアンチスパムソリューション部門賞を受賞した。
SpamAssassinには、電子メールがスパムかそうでないかを判断するために適用する規則が大量に付属している。規則の多くは正規表現になっており、メールの本体やヘッダ部とのマッチングを行うが、SpamAssassinには他にもいくつかのスパム検出技法が使われている。規則群はSpamAssassinの文書では「テスト (test)」と呼ばれている。
各テストにはスコアがあり、そのテストにマッチしたメッセージにそのスコアが割り当てられる。スコアは正の場合と負の場合があり、正の値は「スパム」であることを示し、負の値はそうでないことを示す。メッセージに対して全テストを適用すると最終的なスコアが得られる。そのスコアが高いほどそのメッセージはスパムである可能性が高いということになる。
SpamAssassinには設定可能なスコアのしきい値があり、メッセージがスパムかどうかをそれによって判断する。通常、複数のテストとマッチしなければスパムとは見なされない。1つのテストとマッチしただけではしきい値に達しない。
sa-compile は SpamAssassin 3.2.0 に含まれているユーティリティである。SpamAssasin の規則群を決定性有限オートマトンにコンパイルし、プロセッサの性能をより効率的に発揮できるようにする。