Вы помните письмо: кто-то со стороны клиента прислал его весной, приложив подписанное техническое задание. Но куда оно пришло? В личный ящик, общий projects@ или на старый адрес, который до сих пор подключён?
Приходится искать в трёх местах, каждый раз немного меняя запрос. В конце концов проще попросить клиента прислать документ ещё раз.
Проблема не в том, что вы забыли папку. Многие клиенты по умолчанию ограничивают поиск почты папкой, открытой в данный момент. Для поиска давно полученного письма это слишком узкая область. Разберём, где стоит искать, как устроен поиск по нескольким аккаунтам и какие операторы помогают превратить смутное воспоминание в один запрос.
Почему текущей папки недостаточно
Ограничение одной папкой было оправдано, когда ящик представлял собой большой файл, который для поиска приходилось целиком читать с жёсткого диска. Область поиска могла заметно влиять на время ожидания.
Сегодня многое зависит от индексов и сервера, но прежнее поведение сохранилось во многих клиентах. Вы ничего не находите и решаете, что письма нет. На деле открыты Входящие, а письмо восемь месяцев назад отправили в архив. Пустой результат не доказывает отсутствие письма, если поиск незаметно исключает большую часть почты.
Есть и менее очевидный случай. Вы храните переписку по дереву папок: Clients/Acme/Invoices находится внутри Clients. Если клиент проверяет только саму папку Clients, он не найдёт сообщения уровнем или двумя ниже. Выбранная папка может быть лишь контейнером для остальных.
Три области поиска внутри ящика
В одном ящике полезны три области поиска. Средняя особенно важна для тех, кто организует почту по дереву папок, хотя поддерживают её не все клиенты.
| Область | Где ищет | Когда использовать |
|---|---|---|
| Эта папка | Только выбранная папка | Вы знаете место и хотите сузить поиск по распространённому слову |
| Эта папка и вложенные | Выбранная папка и все её потомки | Нужно найти всё в дереве Clients/Acme |
| Все папки | Все доступные папки ящика, включая Архив, Отправленные и Корзину | Вы не помните, где хранится письмо |
Без поиска по вложенным папкам дерево не помогает найти переписку целиком. Включать Отправленные тоже важно: в обсуждении договора нужное письмо вполне могли написать вы, а не собеседник.
Поиск по всем аккаунтам
Эти области пока ограничены одним ящиком. Но у многих есть личная почта, общие ящики команды и подключённые аккаунты других провайдеров.
Поиск по аккаунтам выполняет одинаковый запрос для каждого доступного источника и объединяет результаты в список от новых к старым, отмечая исходный ящик. Здесь доступны две области: входящие всех ящиков либо все папки каждого ящика. Первая подходит для разбора свежей почты, вторая помогает найти письмо независимо от того, куда его сохранили.
Запрос выполняется по исходным ящикам, а не по заранее собранной копии. Общий ящик проверяется на сервере, где хранится. Подключённый Gmail получает команду IMAP SEARCH. Предварительная локальная синхронизация не нужна, но видимость недавно пришедшего письма зависит от состояния сервера и индекса: даже письмо тридцатисекундной давности не обязано появиться мгновенно.
Как это работает
Объединить выдачу десятка независимых IMAP-серверов сложнее, чем кажется. Эти сложности объясняют устройство поиска.
Запрос преобразуется в серверные критерии. Строка разбирается и отправляется каждому серверу как команда IMAP SEARCH. Сервер выполняет поиск и возвращает идентификаторы подходящих сообщений. Не нужно скачивать содержимое всего ящика, чтобы отфильтровать его на телефоне. Это особенно полезно для ящика объёмом 40 ГБ.
Индекс помогает искать по тексту. Сервер может просматривать содержимое сообщений напрямую, но на большом ящике это бывает медленно и приводит к тайм-аутам. Полнотекстовый индекс способен значительно ускорить поиск, хотя конкретная скорость не гарантирована. Для подключённых аккаунтов всё зависит от реализации провайдера: 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 МБ. В прежней трактовке использовались килобайты, и порог 5 КБ пропускал столько писем, что фильтр казался бесполезным.
Если не хочется запоминать синтаксис, значок фильтра рядом со строкой поиска открывает форму с теми же условиями.
Практические запросы для поиска почты
Вложение, которое точно присылали.
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 и выполняется на сервере, который уже хранит письма. Содержимое сообщений не копируется в сторонний поисковый индекс. Это не исключает передачи данных, необходимых клиенту для отображения найденных результатов.
Почему в веб-интерфейсе результатов больше, чем в настольном клиенте?
Одна из возможных причин: клиент проверяет неполный локальный кеш, а веб-интерфейс обращается к серверу. Сравните также области поиска, доступные папки и поведение индекса. Не каждый настольный клиент ограничен локальным поиском.
Можно искать по дате, не вводя операторы?
Да. Панель фильтров рядом со строкой поиска содержит поля дат, отправителя и получателя, а также условия для непрочитанных писем, звёзд и вложений. Она собирает тот же запрос.
Почему результаты идут по дате, а не по точности совпадения?
Данные приходят от независимых серверов, и общего рейтинга релевантности нет. Эта реализация объединяет результаты по внутренней дате. Чтобы сузить список, используйте операторы.
Поиск включает папку со спамом?
Область «Все папки» включает доступную папку со спамом. Если фильтр ошибочно отправил туда письмо, поиск поможет это проверить. Найдя его, прочитайте, почему письма попадают в спам.