そのメールのことは覚えています。春に取引先の誰かが送ってきた、署名済みの業務範囲を定めた書類が添付されたメールです。でも、届いた先は自分のメールボックス、共有の projects@、それとも今も接続している古いアドレスだったでしょうか。
三か所でそれぞれ検索し、そのたびに条件を少し変えます。結局、取引先にもう一度送ってもらうほうが簡単に思えてきます。
問題は、保存先を忘れたことだけではありません。多くのクライアントはメール検索を今開いているフォルダーに限定します。古いメールを探すには狭すぎることが多い範囲です。適切な検索範囲、アカウントをまたぐ検索の仕組み、曖昧な記憶を具体的な条件に変える演算子を紹介します。
現在のフォルダーだけでは足りない理由
メールボックスが大きなファイルで、検索するたびにハードディスクから全体を読む必要があったころは、一つのフォルダーに絞る意味がありました。範囲を狭めることで、待ち時間を大きく減らせたからです。
今はインデックスやサーバーの機能が重要ですが、多くのクライアントには従来の動作が残っています。何も見つからず、メールが存在しないと判断してしまいます。実際には受信トレイを開いていて、メールは八か月前にアーカイブされているかもしれません。大部分を通知なく検索対象から外しているなら、空の結果はメールがない証拠にはなりません。
もう一つ、気づきにくいケースがあります。Clients/Acme/Invoices を Clients の下に置くような階層で整理している場合です。クライアントが Clients 自体しか調べなければ、一段か二段下のメールは見つかりません。選択したフォルダーは、子フォルダーをまとめるだけの入れ物かもしれません。
一つのメールボックスにある三つの検索範囲
一つのメールボックスでは、三つの範囲が役立ちます。真ん中の範囲はフォルダー階層を使う人に特に便利ですが、すべてのクライアントが対応しているわけではありません。
| 範囲 | 検索対象 | 使う場面 |
|---|---|---|
| このフォルダー | 選択したフォルダーのみ | 場所が分かっていて、よく使われる単語の検索を絞りたいとき |
| このフォルダーとサブフォルダー | 選択したフォルダーとその下のすべてのフォルダー | Clients/Acme の階層全体を調べたいとき |
| すべてのフォルダー | アーカイブ、送信済み、ゴミ箱を含むアクセス可能なフォルダー | 保存先を思い出せないとき |
サブフォルダーを含めなければ、階層全体からプロジェクトのやり取りを探せません。送信済みも重要です。契約についての会話で必要なメールは、あなたが書いたものかもしれません。
すべてのアカウントを検索する
これまでの範囲は、一つのメールボックス内に限られます。しかし、多くの人は個人のメールに加え、チームの共有メールボックスや他社の接続済みアカウントも使っています。
アカウント横断検索は、アクセスできる各接続先で同じ条件を実行し、結果を新しい順にまとめ、元のメールボックスを表示します。各メールボックスの受信トレイだけを調べるか、すべてのメールボックスの全フォルダーを調べるかを選べます。前者は新着の確認、後者は保存先が不明なメールの発見に向いています。
検索するのは事前に集めたコピーではなく、元のメールボックスです。共有メールボックスは保存先のサーバーで検索され、Gmail には IMAP SEARCH コマンドが送られます。事前のローカル同期は不要ですが、新しいメールが見えるかどうかはサーバーとインデックス次第です。三十秒前に届いたメールが必ずすぐ表示されるとは限りません。
検索の仕組み
十数台の独立した IMAP サーバーから結果をまとめるのは、見た目ほど単純ではありません。その難しさが設計の理由になっています。
検索文字列をサーバー用の条件に変換します。入力を解析し、各サーバーに IMAP SEARCH として送ります。サーバーが検索し、一致したメールの識別子を返します。全内容をダウンロードしてから電話側で絞る必要がなく、40 GB のメールボックスでは特に助かります。
本文検索にはインデックスが役立ちます。サーバーはメールを直接調べることもできますが、大きなメールボックスでは遅くなり、タイムアウトする場合があります。全文検索インデックスは高速化に役立ちますが、一定の応答時間を保証しません。接続済みアカウントは提供元の実装に依存します。Gmail や Fastmail は独自の仕組みを使い、小規模な自前のサーバーにはインデックスがないかもしれません。
接続先には並列で問い合わせます。十個のメールボックスを順番に調べれば、十回分の待ち時間が重なります。問い合わせを同時に行い、届いた結果からまとめます。
遅い接続先には時間制限があります。提供元が時間内に応答しなければ、スキップして明示します。無期限に待つ代わりに、九か所の結果と十か所目についての注意を受け取れます。その場合、結果は不完全なので、除外されたアカウントでは再度検索してください。
結果は受信日時でまとめます。各サーバーは他の結果を知らないため、共通の一覧はメールの内部日時を使います。この実装にはサーバー間の共通の関連度スコアがありません。内部日時はヘッダーの日付と異なることがあり、インポート後は特に注意が必要です。
検索演算子
演算子のない単語は、送信者、件名、本文で検索されます。演算子は条件を絞るために組み合わせられ、追加した条件は他の条件と AND で結ばれます。
| 演算子 | 確認する項目 | 例 |
|---|---|---|
from: | 送信者のアドレスまたは表示名 | from:anna@acme.com |
to: | 宛先アドレス | to:billing@ |
subject: | 件名のみ | subject:invoice |
has:attachment | ファイルが添付されたメール | has:attachment |
is:unread | 未読メール | is:unread |
is:starred | スターやフラグの付いたメール | is:starred |
after: | 指定日当日以降、形式は YYYY-MM-DD | after:2026-04-01 |
before: | 指定日より前、形式は YYYY-MM-DD | before:2026-07-01 |
larger: | 指定サイズより大きいメール | larger:10M |
smaller: | 指定サイズより小さいメール | smaller:200K |
覚えておきたい点が二つあります。複数の単語を値にする場合は引用符が必要です。subject:"quarterly report" は件名の語句を検索しますが、subject:quarterly report は quarterly を件名で、report をメール全体で検索します。厳密な一致の扱いはサーバーにも依存します。ここではサイズ演算子の単位なしの数値はメガバイトです。larger:5 は 5 MB を意味します。以前の解釈はキロバイトで、5 KB の基準では多くのメールが通り、フィルターが効いていないように見えました。
構文を覚えたくなければ、検索バー横のフィルターアイコンから同じ条件をフォームで指定できます。
メールを見つける実用的な検索例
確かに受け取った添付ファイル。
from:acme has:attachment after:2026-03-01 before:2026-06-01
送信者、添付ファイル、春の期間を指定します。全アカウントと全フォルダーで実行すると一覧を絞れますが、目的のメールの位置は一致件数次第です。
容量を使っているメール。
larger:20M
全フォルダーの大きなメールを新しい順に表示します。容量の使い方を把握する助けになります。必要な添付ファイルは削除前に保存してください。容量を空けるには、ゴミ箱を空にするかサーバーで完全に削除する必要がある場合があります。
取引先に約束したこと。
to:client@example.com after:2026-06-01
すべてのメールボックスの送信済みを検索すると、自分側のやり取りを確認できます。共有メールボックスからの返信も、そこに保存され、アクセスできれば含まれます。
ここで開いていないだけではなく、未読のメール。
is:unread after:2026-07-01
全メールボックスから、サーバーが未読とするメールを探します。役立つ目安ですが、未読フラグだけで未対応だと断定はできません。
一部しか覚えていない会話。
subject:"statement of work" larger:100K
件名の語句と最小サイズで絞り込みます。ただし、大きいメールだからといって必要な添付があるとは限りません。見つかったファイルを確認してください。
サーバー検索とローカル検索
一部のデスクトップクライアントはローカルコピーを検索します。速いこともありますが、三つの制限があります。サーバーに問い合わせられるクライアントもあります。
ローカル検索で見えるのはダウンロード済みの情報だけです。キャッシュが最近の数か月分や古いメールのヘッダーだけなら、空の一覧はデータ不足によるものかもしれません。電話ではキャッシュがさらに小さい場合があります。その端末に設定していないメールボックスも、ローカル検索には入りません。
サーバー検索は端末のキャッシュに限定されず、メールの保存先で実行されます。ただし、網羅性は検索範囲、アクセス可能なフォルダー、権限、インデックスに依存します。同じ条件なら各端末は同じ接続先を調べますが、メールの変更や一時的な障害で結果が変わることもあります。
制限と違い
外部アカウントの検索品質は提供元次第です。各リモートサーバーは IMAP SEARCH を受け取り、自分で応答を決めます。Gmail の単語分割や部分一致は TrekMail と異なる場合があります。
添付ファイルの中身は検索しません。has:attachment はファイル付きのメールを探します。この検索は PDF 内の文章をインデックス化しません。別の文書検索が必要です。
並び順は関連度ではなく時系列です。サーバー間で共通のスコアはありません。目的のメールが先頭に来ると期待するより、演算子で絞ってください。
接続先の数には上限があります。統合一覧は最大 25 のメールボックスを同時に扱います。それ以上なら特定のメールボックスを検索するほうが実用的です。応答時間はサーバーと条件次第です。
ゴミ箱も含みます。完全に削除されていなければ、最近削除したメールを探せます。各結果のフォルダー表示で保存先が分かります。
よくある質問
共有メールボックスも検索しますか?
はい。アクセスできる共有メールボックスを自分のメールと一緒に調べ、結果に元の場所を表示します。読み取り権限のないメールボックスやフォルダーは除外されます。
接続済みの外部アカウントも検索できますか?
はい。IMAP で問い合わせ、提供元の印を付けて同じ一覧に表示します。有効な認証情報とフォルダーへのアクセスが必要です。
検索のためにメールが別の場所へ送られますか?
条件を IMAP SEARCH に変換し、既にメールを保管しているサーバーで実行します。内容を第三者の検索インデックスへコピーしません。ただし、クライアントが結果を表示するために必要な情報の転送はあり得ます。
ウェブ画面のほうがデスクトップクライアントより多く見つかるのはなぜですか?
クライアントが不完全なローカルキャッシュを検索し、ウェブ画面がサーバーを調べている可能性があります。範囲、アクセスできるフォルダー、インデックスも比べてください。すべてのデスクトップクライアントがローカル検索だけを使うわけではありません。
演算子を入力せず日付で検索できますか?
はい。検索バー横のフィルターパネルには日付、送信者、宛先の欄と、未読、スター、添付の条件があります。同じ検索条件を作成します。
一致の度合いではなく日付順に表示するのはなぜですか?
結果は独立したサーバーから届き、共通の関連度スコアがありません。この実装は内部日時でまとめます。演算子を使って一覧を絞ってください。
迷惑メールフォルダーも検索しますか?
すべてのフォルダーを選ぶと、アクセス可能な迷惑メールフォルダーも含まれます。フィルターが誤ってメールを移した場合、検索で確認できます。見つかったら、メールが迷惑メールに入る理由もご覧ください。