当ブログはアフィリエイト広告を利用しています

Thunderbird「メッセージフィルター」「メッセージを検索」ができない問題を調査&対策

メッセージフィルター1

長く使用しているメールアドレスには、spamメール(迷惑メール)がたくさん送られてきます。
一番いい対策は、新しいメールアドレスに変更することなんですが、面倒でやっていません。
いずれやらなければいけないとは思ってるのですが・・・。

現在は、Thunderbirdというメーラーの機能を使って対応しています。
迷惑メールフィルターメッセージフィルターです。

ただ、以前から気になっていることがあります。
メッセージフィルターをすり抜けているメールがあるのです。

メッセージフィルターとは、条件に合うメールに対し、設定した処理を行うというものです。
「メール本文にあるキーワードがある場合、そのメールを削除する」というような使い方をしています。

今回は、メッセージフィルターをすり抜けているメールの原因を調べ、対策をしてみました。

スポンサーリンク
[adm02]

メッセージフィルターすり抜けメールの特徴

○ メッセージを検索・・・できない
○ ページ内検索・・・できる

メッセージフィルターに引っかからないのは、フィルターで設定しているキーワードがダメなのかもと疑問を持ちました。
そこで、問題のキーワードを使い「メッセージを検索を実行してみました。

「メッセージを検索」の場所

【編集】-【検索】-【メッセージを検索】

すると、普通に検索できています。
すり抜けメール以外は・・・。
この時点で、キーワードがダメという訳ではなさそうです。

ちなみに、「ページ内検索」だとすり抜けメールでも検索できます。

「ページ内検索」の場所

【編集】-【検索】-【このメッセージ内を検索】

すり抜けメールの共通点から原因を探す

文字を認識できていないのかもと思い、すり抜けメールのソースを表示して比べてみることにしました。

メールのソースの表示

【表示】-【メッセージのソース】

文字が関係してそうな所は
Content-Type:text/plain; charset=”shift_jis” です。
全てのすり抜けメールがこのようになっていました。

すり抜けメール以外の場合
Content-Type: text/plain; charset=iso-2022-jp となっていました。
どうやら違いを突き止めたようです。

念のために「メッセージを検索」で
Content-Typeにshift_jisを含むという条件で全てのメールを検索してみました。
すると、すり抜けメール以外のものまで出てきました。

何で?と思いメールのソースを確認。

通常メール

Content-Type: text/plain; charset=Shift_JIS

すり抜けメール

Content-Type:text/plain; charset=”shift_jis”

違いはダブルクォーテーション(”)が使われているかどうかと、大文字が使われているかどうかです。

とにかく、すり抜けメールだけが”shift_jis”と記述されているのです。
「メッセージフィルター」や「メッセージを検索」ができない原因かどうかまではわかりませんが、違いを見つけることができました。

すり抜けメールにメッセージフィルターを適用する

本文での判定はできない。
といって、何もやらないというのでは、メールチェックに時間がかかってしまいます。

幸い、Content-Typeに特徴があるので、それを使ってフィルターの設定をしてみます。
一応、パソコンに残っている800通のメールに対し、Content-Typeに”shift_jis”が含まれていないか検索してみました。
その結果、spamメールしか引っ掛かりませんでした。

設定は
Content-Type に次を含む ”shift_jis”

メッセージフィルター2

この設定をしてからは、メール受信時・手動のどちらでも機能しているようです。
原因を見つけるのに少し時間がかかったけど、何とか解決できたようです。