Модул 6 · 6.2
Проектиране и тестване на филтри
Модул 6: Автоматично: филтри и отсъствие · Време за четене: 9 минути
Учебна цел: След този урок ще можете да превърнете едно желание във филтър, който прави точно това, което имате предвид, да избягвате познатите капани и да тествате филтъра си, преди да разчитате на него.
Основни понятия: избор на заглавен ред (хедър), From, To, List-Id, Subject, твърде широк филтър, ред на изпълнение, пренасочване, Използвай за нов филтър, тестово писмо, Изтегли
От желание към правило
Добрият филтър започва с изречение на обикновен език: „Цялата поща от търговеца на едро трябва да отива в папката Доставчици.“ След това си задавате три въпроса:
- По какво със сигурност разпознавате това писмо? Не „обикновено става дума за поръчки“, а нещо, което винаги присъства в заглавните редове (хедърите): адрес, домейн, заглавен ред, който има само тази поща.
- Какво трябва да се случи? Преместване, копиране, пренасочване, изтриване, и трябва ли скриптът да спре след това?
- Какво филтърът не бива да засяга? Помислете за писмата, които приличат на търсените. Точно там филтрите грешат.
По кой заглавен ред да филтрирате
Изборът на заглавен ред определя колко надежден е Вашият филтър.
- From за поща от конкретен човек или фирма. Филтрирайте по адреса или по домейна:
@example.netобхваща всички служители на тази фирма. Не филтрирайте по показваното име: всеки може да впише каквото име пожелае (урок 2.2). - To („До“) за поща, която пристига през друг адрес. Ако адресът info@example.com се пренасочва към пощенската кутия на Елена, тя разпознава тази поща по info@ в заглавния ред To. Внимание: писмо, изпратено със скрито копие, няма този адрес в To.
- List-Id за бюлетини и пощенски списъци. Коректните подаватели добавят този заглавен ред (RFC 2919) с постоянен код за всеки списък. Това е по-надеждно от адреса на подателя, който при бюлетините понякога се сменя.
- Subject („Заглавие“) само когато заглавието е постоянно, както при автоматичните известия от дадена система. Във всички останали случаи заглавието е най-ненадеждният избор: всеки може да напише в него каквото си иска.
Филтър за бюлетините на един търговец на едро изглежда така в Sieve:
# rule:[Търговия на едро]
if header :contains "List-Id" "novini.example.org"
{
fileinto "INBOX.Доставчици";
stop;
}Четири капана
1. Твърде широк. „Заглавие съдържа фактура“ изглежда удобно, но улавя и фишинг с „Вашата неплатена фактура“, който спам филтърът е пропуснал. Тогава той стои спретнато сред истинските Ви фактури, където го разглеждате по-малко критично. Стеснете филтъра: „From съдържа @example.net и Заглавие съдържа фактура“, с обхват „при изпълнение на всички условия“.
2. Ред на изпълнение. Филтрите се изпълняват отгоре надолу (урок 6.1). Широк филтър със stop най-отгоре може да изключи от играта по-специфичен филтър под него. Поставете специфичния филтър най-отгоре: първо „бюлетин от търговеца на едро“, едва след това „всичко от example.org“.
3. Главни букви и интервали. Условието „съдържа“ не прави разлика между главни и малки букви, така че за това не е нужно да мислите. Но едно излишно интервал или правописна грешка в текста ще провалят филтъра. „фактура “ с интервал след думата няма да намери „фактура.“.
4. Папка, която по-късно се променя. Филтърът сочи към пълното име на дадена папка. Ако преименувате папката или я преместите под друга папка, името във филтъра вече не съвпада. Затова проверявайте филтрите си след всяка промяна в папките.
Пренасочване към външен адрес
С действието „Пренасочи писмото към“ можете да изпращате поща към друг адрес, например адрес в Gmail. Това има два недостатъка.
Първо, пренасочвате и спама, който спам филтърът не е спрял. Получаващата услуга вижда Вашия пощенски сървър като сървъра, който доставя този спам. Това може да навреди на репутацията на Вашия сървър, а с това и на доставката на цялата Ви обикновена поща.
Второ, проверките на подателя вече не са коректни. Пренасочено писмо от ahmed@example.net пристига в Gmail от Вашия сървър. SPF записът на example.net не посочва Вашия сървър, затова проверката се проваля. Поради това писмото може да попадне в спама или да бъде отхвърлено. Курсът „Поща в ред“ обяснява подробно SPF и DMARC.
Затова пренасочвайте само към адреси, които управлявате сами, и по-добре чрез адрес за пренасочване (forwarder) в контролния панел, отколкото чрез филтър.
Създаване на филтър от писмо
Най-бързо създавате филтър от писмо, което искате да бъде сортирано. Отворете писмото и изберете Още > Използвай за нов филтър. Уебпощата предварително попълва подателя и заглавието. Премахнете ненужното: обикновено подателят е достатъчен, а заглавието прави филтъра твърде тесен.

Тествайте, преди да разчитате на филтъра
Филтър, който тихо греши, забелязвате едва когато пропуснете важно писмо. Затова винаги тествайте:
- Тестово писмо до себе си. Вашето собствено писмо минава през пощенския сървър до пощенската Ви кутия, така че филтрите се изпълняват. Поставете думата в заглавието и проверете дали писмото е в правилната папка.
- Тествайте и това, което не бива да се засяга. Изпратете писмо без думата и проверете дали остава във Входящи. Опитайте и с главни букви.
- Прочетете скрипта. С Филтри > Действия > Редакция на набор филтри виждате какво уебпощата действително е запазила. Ако там пише
if false, филтърът е изключен. - Пазете копие. С Филтри > Действия > Изтегли получавате целия скрипт като файл. Полезно е като резервно копие и за сравнение, ако нещо изведнъж започне да работи различно.

Филтър за една пощенска кутия или за целия домейн
Филтрите в уебпощата важат за една пощенска кутия. Ако искате да блокирате даден подател за всички пощенски кутии на Вашия домейн или да направите спам филтъра по-строг, направете това в контролния панел на Вашия хостинг. При WebOké това е DirectAdmin, включително разделът SPAM Filters. Не задавайте едно и също на две места: после няма да знаете кое правило е спряло дадено писмо.
На практика: така работи в уебпощата
Създавате филтри в Настройки > Филтри със Създай или от писмо с Още > Използвай за нов филтър. Скрипта разглеждате в Филтри > Действия > Редакция на набор филтри, а Изтегли Ви дава копие. Ръководството за Roundcube съдържа стъпките и таблица с полезни филтри. В друга уебпоща работи по подобен начин: Gmail създава филтри от търсене, Outlook.com има правила с условия и действия.
Обобщение
- Започнете с изречение на обикновен език и се запитайте по какво със сигурност разпознавате писмото и какво филтърът не бива да засяга.
- Филтрирайте по адрес, домейн, To или List-Id; заглавието е най-ненадеждно.
- Капани: твърде широк филтър, грешен ред, правописни грешки и интервали, преименувана папка.
- Пренасочването към външен адрес препраща и спам и проваля SPF; правете го само към адреси, които управлявате сами.
- Тествайте с писмо до себе си, включително това, което филтърът не бива да засяга, и пазете копие с Изтегли.
Тест (quiz)
Задача
Задача A6.2: Проверка на Вашия собствен филтър. Създайте в собствената си пощенска кутия филтър, който премества писма с дума по Ваш избор в заглавието в папка по Ваш избор. Въведете на страницата думата и името на папката. След това поставете набора си филтри (Настройки > Филтри > Действия > Редакция на набор филтри, изберете всичко и копирайте) или качете файла, който получавате с Изтегли. Програмата чете Sieve скрипта в паметта (нищо не се съхранява) и прекарва три пробни писма: писмо с Вашата дума в заглавието (трябва да отиде във Вашата папка), писмо без думата (трябва да остане във Входящи) и писмо с Вашата дума с главни букви (също трябва да отиде във Вашата папка). Зелено, ако и трите са правилни. Ще получите известие, ако филтърът е изключен, ако името на папката в скрипта не съвпада с въведеното от Вас или ако скриптът пренасочва поща към адрес извън собствения Ви домейн.
Прочетете още
Там, където са описани стъпки в уебпощата, те важат за уебпощата на WebOké; в друга уебпоща работи по подобен начин.
- Roundcube Webmail 7.1: Създаване на филтър
- Roundcube Webmail 7.2: Примери за полезни филтри
- Сървърни правила за имейл (филтри на сървъра)
- Пренасочване на имейл към друг адрес (forwarders, catch-all не се препоръчва)
- Безплатен курс Имейлът в ред: настройка и добро получаване 3.3: Алиаси, пренасочване и catch-all: полезни, но с рискове
- Безплатен курс Имейлът в ред: настройка и добро получаване 4.1: Защо писмата попадат в спам
- RFC 2919, List-Id (на английски): https://www.rfc-editor.org/rfc/rfc2919
- Преглед, изтегляне и възстановяване на Вашите филтри като Sieve скрипт
