Пошук у повідомленнях.
Max Vorobuov
vmax0770@gmail.com
Andre Klapper
ak-47@gmx.net
Novell, Inc
Юрій Чорноіван
yurchor@ukr.net 2020

# Пошук у пошті

# Пошук у окремому повідомленні

Щоб знайти фрагмент тексту у показаному повідомленні, скористайтеся пунктом Зміни Знайти у повідомленні… головного меню.

# Пошук у різних повідомленнях

## Швидкий пошук

За допомогою панелі перегляду пошти ви можете швидко виконувати пошук повідомлень за визначеними умовами.

Натисніть піктограму пошуку , щоб розгорнути спадний список.

Виберіть умову пошуку зі списку.

Деякі пошуки можуть виконуватися повільно на облікових записах із віддаленим зберіганням даних (наприклад IMAP+). Якщо вами вибрано умову пошуку Вміст містить або Повідомлення містить, і Evolution працює у режимі з'єднання з сервером, а теки, у яких ви хочете виконати пошук, ще не скопійовано локально для автономного користування, Evolution автоматично виконає пошук на боці поштового сервера, якщо сервером оголошено про можливість пошуку на боці сервера. При виконанні пошуку у даних, які вже доступні локально (пошуків отримувачів або теми повідомлення), пошук виконуватиметься локально.

Виберіть область зі спадного списку, розташованого праворуч від поля для введення тексту.

Для області Поточний обліковий запис термін «обліковий запис» стосується вузлів найвищого рівня у списку поштових тек, подібно до «На цьому комп'ютері» та облікових записів із віддаленим зберіганням даних.

Введіть текст, який ви хочете знайти, і натисніть клавішу Enter.

Evolution показує результати пошуку.

Якщо ви розпочинаєте безпосередньо з четвертого кроку, пошук тексту буде виконано у темах повідомлень та адресах, а областю пошуку буде «Поточна тека».

Якщо ви шукаєте повідомлення, які зберігаються у різних теках, досить часто вартим уваги рішенням є створення теки пошуку. Докладніший опис наведено у розділі Користування теками пошуку.

Якщо ви хочете встановити декілька умов пошуку, вам слід скористатися можливістю розширеного пошуку, яку описано нижче.

## Вираз у довільній формі

Одним із варіантів умов пошуку є Вираз у довільній формі, за допомогою якого можна визначати складні умови. На першому етапі заданий вираз у довільній формі буде поділено на слова. Якщо у слова немає будь-якого (відомого) префікса-теґу, буде виконано перевірку наявності значення у заголовках «Кому», «Копія» та «Тема». Якщо у критерії пошуку має бути пробіл або будь-який інший спеціальний символ, його слід взяти у подвійні лапки. Щоб використати сам символ подвійних лапок, подвойте його у тексті. Приклад: `цитата ""тут""` буде оброблено як одне слово `цитата "тут"`. Наприклад, після фільтрування `f:John Smith` залишаються повідомлення, у яких поле «Від» містить слово `John`, а поля «Кому», «Копія» або «Тема» містять слово `Smith`, а після фільтрування `f:"John Smith"` у списку лишаються повідомлення з відправником `John Smith`.

Синтаксична конструкція теґу є такою: `<теґ>[-<параметри>]:значення`. Передбачено такі теґи:

Теґ | Скорочення | Значення
from | f | Заголовок «Від» має відповідати (*)
to | t | Заголовок «Кому» має відповідати (*)
cc | c | Заголовок «Копія» має відповідати (*)
recips | r | Заголовки «Кому» і «Копія» має відповідати (*)
subject | s | Заголовок «Тема» має відповідати (*)
list |  | Заголовок «Список листування» має відповідати (*)
header | h | Вказаний заголовок має відповідати (*) синтаксис: `h:НазваЗаголовка=значення`, а знак рівності використовується як роздільник, а не правило відповідності
exists | e | чи існує вказаний заголовок
tag |  | для повідомлення встановлено вказану мітку користувача

flag

чи встановлено певний прапорець; відомі спеціальні значення:

`Answered` — повідомлення позначене як таке, на яке надіслано відповідь

`Deleted` — повідомлення позначено як вилучене

`Draft` — повідомлення позначено як чернетку

`Flagged` — повідомлення позначено як важливе

`Seen` — повідомлення позначено як переглянуте (не непрочитане)

`Attachment` — у повідомлення є долучення

Буде перевірено на заповненість будь-яке інше значення.

label | l | чи встановлено певну мітку для повідомлення
size | sz | чи розмір повідомлення у кБ рівний заданому значенню Передбачено розпізнавання двох варіантів: `<` для отримання повідомлень із меншим розміром і `>` для отримання повідомлень із більшим розміром за вказаний. Приклад: `size->:1024` фільтрує повідомлення, розмір яких перевищує 1 МБ.
score | sc | порівнює теґ `score` повідомлення зі вказаним значенням; типовим режимом порівняння є рівність, але, подібно до `size`, можна скористатися режимами `<` і `>`
body | b | перевіряє, чи міститься вказане слово у тексті повідомлення; типовим варіантом порівняння є `містить`, але може бути використано формальний вираз, якщо варіантом вказано `regex`, `re` або `r`.
sent |  | має бути відповідною дата повідомлення у полі «Надіслано» (**)
received | rcv | має бути відповідною дата повідомлення у полі «Отримано» (**)
attachment | a | повідомлення містить долучення (якщо значення не дорівнює `no`, `false`, `0`). Подібний до теґу `flag:attachment`.
location | m | Перевіряє розташування повідомлення. Значення розташування (адресу) можна знайти у теці Властивості. Приклад: `location:"On This Computer/Inbox"`
mid |  | Порівнює ідентифікатор повідомлення.

(*) Порівняння заголовків може містити варіант типу встановлення відповідності. Типовим режимом порівняння є `містить`. Доступні варіанти:

Параметр | Скорочення | Значення
contains | c | порівнює у режимі «містить»
has-words | w | визначає, чи містить ціле слово
matches | m | точна відповідність значенню
starts-with | sw | значення заголовка починається із вказаного значення
ends-with | ew | значення заголовка завершується вказаним значенням
soundex | se | значення заголовка є подібним до вказаного значення
regex | r | вказане значення є формальним виразом
full-regex | fr | інший тип формального виразу

(**) Дати можна записувати відносно (додатне число означає `протягом останніх X днів`), а від'ємне дає дати у майбутньому. Наприклад, щоб отримати повідомлення, які було отримано протягом останніх 10 днів, скористайтеся таким виразом: `recv:10`. Можна також скористатися точною датою у форматі `РРРР-ММ-ДД` (рекомендований формат), форматі ISO 8601 або специфічному для локалі форматі дати або дати і часу. Якщо засобу обробки не вдасться розібрати запис дати і часу, умову буде пропущено. У порівняннях дат також можна скористатися різними варіантами, а саме, `<`, `=` або `>`. Типовим є варіант порівняння `>`.

Передбачено три спеціальних теґи, які потребують особливого позначення. Ось вони:

`not:(....)`

`and:(....)`

`or:(....)`

який уможливлює створення спеціалізованих виразів. Типовим (найбільш зовнішнім) поєднанням є `and`. Щоб змінити його на `or`, скористайтеся такою конструкцією `or:(....)`. Приклад: `f:Bugzilla t:John` фільтрує усі повідомлення, які містять `Bugzilla` у полі «Від» і `John` у полі «Кому», а `or:(f:Bugzilla t:John)` фільтрує повідомлення від «Bugzilla» або надіслані користувачу «John».

## Приклади виразу у довільній формі

Нижче наведено список декількох виразів у довільній формі:

Вираз | Значення
`f:John` | Повідомлення від користувача `John`
`s-has-words:"green blue"` | Повідомлення, у полі теми яких містяться одразу слова `green` і `blue`
`r-ew:example.com` | Адреса отримувачів (заголовки «Кому/Копія») завершується на `example.com`
`h-starts-with:Cc=Alice` | Поле `Копія` починається зі слова `Alice`
`e:X-Secret-Header` | У повідомленні є `X-Secret-Header`
`l:work` | Для повідомлення встановлено мітку `work`
`sz-<:10` | Розмір повідомлення є меншим за 10 кБ
`sz->:100` | Розмір повідомлення перевищує 100 кБ
`b:important` | У тексті повідомлення міститься слово `important`
`sent:7` | Повідомлення надіслано протягом останніх 7 днів
`rcv-=:2020-02-02` | Повідомлення отримано 2 лютого 2020 року
`a:1` | Повідомлення із долученням
`a:0` | Повідомлення без долучень
`and:(or:(r:Alice r:Bob) not:(r:Smith))` | Повідомлення, отримувачем яких є `Alice` або `Bob`, але не `Smith`
`f:Bob rcv->:2020-01-01 rcv-<:2020-12-31` | Повідомлення від `Bob`, отримані протягом 2020 року
`not:(flag:Seen) f:Bob rcv->:2020-01-01 rcv-<:2020-12-31` | Непрочитані повідомлення від `Bob`, отримані протягом 2020 року
`flag:Seen a:1 sz->:1024 f:Bob rcv:31` | Прочитані повідомлення із долученням, розмір якого перевищує 1 МБ від `Bob`, отримані протягом останнього 31 дня
`m:"On This Computer/Inbox"` | Повідомлення, які зберігаються у теці `On This Computer/Inbox`
`location-no:"On This Computer/Inbox"` | Повідомлення, які зберігаються будь-де, окрім теки `On This Computer/Inbox`