メールの発信元による迷惑メール判定について(Ver7.33対応版)
秀丸メールのVersion 6.31β24より、「IPList」って新しい仕組みを追加して、それを迷惑メール判定に生かすようにしました。
IPListというのは、メールの発信元のIPアドレスと、そのメールが迷惑メールだったかどうかをデータベースとして記録していく仕組みになります。その結果は、秀丸メールのデータ用フォルダの「tkf_IPList.txt」というテキスト形式ファイルに記録されます。
IPListに記録される対象は、外国から発信されたメールか、または日本国内が発信元だった場合でも、特に迷惑メールを多く発信してる発信元に限ります。日本国内での迷惑メールの発信元は、秀丸メールの迷惑ワードに「++!spip=nnn.nnn.nnn.nnn-mmm.mmm.mmm.mmm」のような形で記録されてて、それを使って判定されます。
迷惑メールをほとんど発信してない、普通の日本国内から発信されたメールはIPListに記録されず、IPListによる判定対象からも外れます。
- IPListの記録形式
-
IPListには、1行の中に、日付、IPアドレス、メール本文の16bit-CRC + 迷惑メールかどうかのフラグが記録されます。同じIPアドレスから発信されたメールは、1つの行に複数の「16bit-CRC+迷惑メールかどうか」のセットとして記録されます。
日付は、記録したメールの中での最新のDate:ヘッダの値が入ります。
IPアドレスは、上位24bitだけを見て、下位8bitは0にマスクされて比較されます。
メールのCRCの値は、メール本文から16bit-CRCが生成されて、それを15bitにマスクして使われます。もし15bitにマスクした値が0になった場合は0x7FFFに書き換えられます。最上位の1ビットは迷惑メールかどうか(迷惑メールなら1)となります。
1つのIPアドレスの中に、16bit-CRCの値が最高で9個まで記録されます。これを超えた分は、古い方から破棄されます。
IPListの行数は最高で2048行までとなり、それを超えた場合は古い行から削除されます。
IPListは古い順にソートされて保存されます。
tkf_IPList.txtに記録される、「16bit-CRC + 迷惑メールかどうか」の値は16進数で記録されます。16進数の4文字のセットの先頭が8〜Fなら迷惑メール、0〜7ならそうじゃないメールってことになります。また、IPアドレスがどの国か分かりやすいように国識別も記録されます。
safe sender判定メールのIPListによる判定
-
safe sender判定メールをIPListによってspam判定するロジックは、秀丸メールのVersion 6.54から廃止しました。
- unclear判定メールのIPListによる判定
-
通常の判定をした結果「unclear」となった場合、そのメールの発信元をIPListから調べて、もしも同じ発信元から迷惑メールしか発信されなかった場合で、その数もそれなりにある場合、「spam (many spam from this IP)」と判定されます。
ただし、同じような「unclear」判定メールがそれなりに溜まると、それもIPListに迷惑じゃないメールとして反映されるので、その後のunclearメールはそのままunclear扱いになります。
ほとんどが迷惑判定されるけどたまにunclear判定されるメールが混じるようなケースについては、このIPListによる判定が効いてきます。