※質問するときは、「フォーラムの利用に関するご案内」、とりわけ「質問するときは」に目を通し、Thunderbird のバージョンだけでなく OS の種類とバージョン、アカウントの種類(IMAP か POP か)といった使用環境についての最低限の情報を書き添えることをお勧めします。mokemoke さんが書きました:
メールソースについて詳しくは無いのですが、エンコードがbase64となっているのですが、このようなメールは本文検索できないのでしょうか。
本文検索でヒットしない原因・対策があればご教授いただけないでしょうか。
Thunderbird にもバグはあったりしますが、基本的には、本文であれ、件名や差出人名であれ、エンコーディングされている文字列に対しても検索機能は働きます。「このようなメールは本文検索できない」ことが仕様というわけではありません。でも、条件によってはご質問のようなことが起こるケースはあると思います。
ところで、Tunderbird は複数の検索機能を持っています。「本文検索」と仰っているのは、どの検索機能のことを指しておられますか。
メニューバーの [編集] -> [検索] 、または [三] 型メニューボタンの [検索] にある、
(a) [このメッセージ内を検索]([Ctrl] + [F])のこと
(b) [メッセージを検索]([Ctrl] + [Shift] + [F])の条件設定で [本文] を選択した場合のこと
あるいは
(c) [グローバル検索] のこと
(d) [クイックフィルター] その他の検索機能のこと
当方の環境(Windows 7 SP1 64bit + Thunderbird 52.8.0)で、次のヘッダにより定義された複数の日本語メールの本文を検索対象にして試してみましたが、(a)(b)(d)では問題なく検索できました。(c)は常用していないので試せていません。
---------------------------------------------
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: base64
---------------------------------------------
(a)(b)の検索機能、および(d)の [クイックフィルター] は、メッセージソースを直に検索対象としています。
一方、(c)の [グローバル検索] は、すべてのメールのヘッダや本文を抽出してデータベース化したもの(=索引データベース= global-messages-db.sqlite)を検索対象としています。
データベースなので、条件による絞り込みや抽出のバリエーションは豊富で、動作効率もいいですが、もし索引データベースを構築する時点で "Content-Transfer-Encoding: base64" で固められているメッセージ本文の取り込みに何かしらの問題が起これば、そのメッセージに関しては不正常な索引データベースが出来てしまうので、以後の検索で適切な結果を出せないことが起こる可能性はありえます。(いまの段階で断言はできませんけど...。)
[グローバル検索] では必ず問題が起こるというわけではありませんが、(a)(b)(d)とは実際に検索している対象が違うことを、理解しておいたほうがいいと思います。[グローバル検索] では、索引データベースが正常に構築・更新されていることが、正常動作の前提になるということです。
mokemoke さんが書きました:
必要そうなものを抜粋
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64
※本文自体は、「5Lul5LiL4…」のように英数字になっています。
その条件に沿ってデコードした場合、「5Lul5LiL4」は「以下」という日本語になると思います。この結果に着目したとき、次の点が少し気になりました。
mokemoke さんが書きました:
なお送信元メールはZabbixという監視ツールからの送信メールになります。
海外製のソフトウェア、とくに補助的にメール機能が組み込まれている製品の場合、日本語メールの扱いに難があるケースがときおり見かけられます。
このメールを Thunderbird のメッセージペインに表示させたとき、正常な日本語が表示され、視認できる範囲で不可解な点はありませんか。
セキュリティ対策ソフトなどの干渉でヘッダ情報の一部が変更されている、などといったこともありませんか。
このメールを Thunderbird 以外のメールクライアントで受信すれば、「本文検索」と仰っていることは正常にできるのでしょうか。
「必要そうなものを抜粋」でメールヘッダをご提示いただいてますが、もしそのメールの基本構成が Content-type: multipart/***; などマルチパートで定義されている場合は注意してください。
本文パートと、text や html 、eml などが添付されたパートで、エンコーディング方式(Content-Transfer-Encoding)と文字セット(charset)の組み合わせが異なっているような場合、Thunderbird の検索機能は本文パートの条件に合わせて文字情報を解釈するので、別条件でエンコーディングされた添付パートの文字列を適切に解釈できないケースがあります。
(参考事例)
・転送されてきたメールの内容により、メッセージフィルタ仕分けしたい。
forums.mozillazine.jp/viewtopic.php?f=3&t=16530
本件がこのケースに該当するのかどうか、いまある情報だけではわかりませんが、事例として念頭に置けば、この後の調査精度を上げられるだろうとは思います。
メッセージソースの先頭から見て一番最初に出てくる Content-type で、そのメールがマルチパートかどうか全体の構成がわかります。
ストレートな解決策を示すことができず残念ですが、気づいた点を述べさせていただきました。的外れな話だったらすみません。
(おことわり)
現在、健康上の制約により不定期な書き込みしかできなくなっています。すぐに応答できない場面がかなり多くなりますことを、ご容赦ください。