引用:
迷惑メールのフィルター設定の中で「本文」に次を含む 「 」と、(略)
私のThunderbirdの設定には、そんなものは無いのだが...
あるのは、迷惑メールの設定と、メッセージフィルター規則とアクション...
引用:
「本文」に次を含む 「 」と、何も文字を入れずに空白のままの本文として、
フィルター設定を新規追加登録したところ。
迷惑フォルダーに受信メールの全てが、入ってしまう不具合の設定が発生しました。
そういうのは、不具合、とは言わなくて、
いい加減なメッセージフィルターの定義の通りにメッセージフィルターが作動した、と呼ぶのが普通でしょう。
(A) 「迷惑メールフィルター」は、各アカウントごとの設定の(A-1)「adaptive junk mail control」という、ベイズフィルターを利用したものが中心になります。
これは、このメールはジャンク、このメールはジャンクではない、と、学習させたデータを元に判定するもので、
Thunderbirdをインストール・プロファイルを作った段階で、事前に学習させたデータを既に持っています。
他に、(A-2) スパムアサシンなどが付けるメッセージヘッダーを利用したもの、も設定できます。
一方、各アカウント単位の (B)「メッセージフィルター」では、メッセージヘッダーの中身やメールの本文のデータを元に、自分で判定して、自分で、「これはジャンク」「これはジャンクではない」と設定したり、タグを付けたり、必要ならば、任意の他のメールフォルダーに移動できます。
この「メッセージフィルターのルール」ですが、
「Body Contains Nothing」とか「Body Contains Null, Space, CR, LF etc. only」とか「Subject header is broken」といった、一種のメールのメタデータのような指定はできません。
「If 壊れたMessage-Idヘッダー」とか「If サブジェクトにRe:が2つある」といった規則を定義できると、ジャンクメールの検出に便利なんですけどね。
「本文に、ある特定の文字列を含む、含まない」「あるメッセージヘッダーにある特定の文字列を含む、含まない」、といったような条件しか指定できません。
サブジェクトだけで本文がない、というようなスパムメールだと、「メールで使われている文言」といったようなデータには限りがありますから、ベーズフィルターが「メールの本文が無いメールはスパム」と判定してくれるように繰り返し学習させる、くらいしか普通は手は無い。
しかし、スパマーさんも、色々と手掛かりを残してくれます。
一昨年くらいに辟易したのに、From:が.click、.party、.club、.link、.help、.biz、.xyz で終わるもの、がありました。
どこかの悪質なドメイン販売業者が、スパマー向けにこういったメールドメインネームを格安で売り出したあとの頃です。
From Ends with .click ...、 Then Mark As Junk、Move to Junkかもしれないフォルダー
といったメッセージフィルターを作り、
「Junkかもしれないフォルダー」に入ったものは、手動で「これはジャンク」と学習させて、
他の正常なものは「これはジャンクではない」と学習させて、
最終的にジャンクフォルダー送りになったものは、手動でGmailの[Gmail]/Spamに送り、
[Gmail]/Spamフォルダーでは、Retension Policyで3か月後に削除、
とやっていました。
一切の応答がないものですから、スパマーさんも無駄なことは止めるようで、半年くらいしたら、この類のメールは、ほとんど来なくなりました。
その頃同時に行ったもので、比較的効果的だったのが、
If From: doesn't cntain @twitter
AND If Body Contains ���������� (10文字連続するU+FFFDのデータ)
Mark As Junk, and Move to FFFDのジャンク
というフィルター。
Twitterからの色々なつぶやき情報のメールは、文字化けの嵐ではあるものの、スパムではないので、Twitterからのメールは除外しています。
これも、 「FFFDのジャンク」に移動されたら、「これはジャンク」と学習させてから、Gmailの[Gmail]/Spam送りにして、3か月後に自動削除、とやってました。
あとは、Receved:ヘッダーに特徴的なドメインがあるものをジャンク送り、というのも、割と効果的でした。
例えば、
If Received contains .gene-mta1.info OR Recieved contains .dee3.org OR ...
Mark As Junk, amd Move to [Gmail]/Spam of an Gmail account
といったような、特定のドメインを経由してくるものを、確実にジャンク送りにする。
数はそれほど多くなくても、このタイプのものを確実にジャンク送りにできるので、楽です。
If Recived contains .ru とかIf Received contains .cn というフィルターを定義すれば、大陸系のものも、割と楽にジャンク送りにできます。
こういった、メッセージフィルターやベーズフィルターで怖いのが、大事なメールがジャンクメールだと誤判定されることです。
ジャンクメールがジャンクメールと判定されなくて受信トレイに残った場合は、それを手動でジャンクメールにすれば済むのですが、
必要なメールが間違ってジャンク送りにされて、そのまま削除されてしまうと大変です。
メッセージフィルターなどで自分でジャンクメールの判定をする場合は、
メッセージフィルターで「これはジャンク」とマークした後は、「これはジャンクの候補
」フォルダーに移動しておき、
そのあと必ず中身をチェックして、全部ジャンクだったら、手動で「ジャンクメール」とマークして学習させ、
それから削除されるようにする方がいいでしょう。
また、メッセージフィルターの場合、
[1] Before Junk Classification(メッセージフィルターを適用⇒迷惑メールフィルターを適用)
[2] After Junk Classification(迷惑メールフィルターを適用⇒メッセージフィルターを適用)
があるのですが、
[1]の場合、何もしないと、メッセージフィルターで移動されたメールに対しても、迷惑メールフィルターが適用されます。
従って、[1]で、メッセージフィルターの中でジャンクメール関係の設定を行う場合には、
メッセージフィルターで「ジャンクである」とマークしたもの以外については、
メッセージフィルターで明示的に「ジャンクではない」とマークした方が利口です。
そうしないと、折角メッセージフィルターでフォルダーを移動したメールが、迷惑メールフォルターによってジャンクフォルダー送りになってしまうことが発生し得ます。