Към съдържанието

Настройки за бисквитки

Изберете кои видове бисквитки разрешавате. Можете да промените избора си по всяко време чрез „Настройки за бисквитки“ в долната част на всяка страница. Декларация за поверителност

Необходими

Винаги включени

Нужни са за вход, за запазване на количката и на Вашите избори. Те са винаги включени.

Кои бисквитки?
  • weboke_sessie, weboke_klant, weboke_remember: Вашата сесия и оставането в акаунта
  • weboke_basket: Вашата количка
  • wkBtwIncl: показване на цените с или без ДДС
  • wok_cookies: Вашият избор за бисквитките, 12 месеца

Измерват коя реклама води до посещение или поръчка, за да не плащаме за реклами без резултат.

Кои бисквитки?
  • Google Ads чрез Google Tag Manager (_gcl_au, _gcl_aw), до 90 дни
  • OpenAI Ads, реклами в ChatGPT
  • wok_aff: кой партньор Ви е препратил към нас (партньорска програма), 60 дни

4,6

Държава и език

Всяка държава има собствен сайт, с цените и ДДС на тази държава.

Преглед

Как работят филтрите

Модул 6: Автоматично: филтри и отсъствие · Време за четене: 10 минути

Учебна цел: След този урок ще можете да обясните къде и кога работят филтрите, да прочетете филтърен скрипт на Sieve и да предвидите в коя папка ще попадне едно входящо писмо.

Основни понятия: филтър, Sieve, ManageSieve, набор филтри, правило, условие, действие, имплицитно запазване, stop, съдържа, е равно на, съвпада с израз

Филтрите работят на сървъра

Филтърът подрежда пощата Ви автоматично: писмата с „factuur“ в заглавието отиват в папката Facturen (фактури), бюлетините в отделна папка. Най-важното, което трябва да знаете: това подреждане не става в webmail, а на пощенския сървър, в момента, в който писмото бъде доставено в пощенската Ви кутия.

От това следват три неща:

  • Филтрите работят и когато webmail е затворен. Лаптопът Ви може да е изключен. Телефонът вижда писмото веднага в правилната папка.
  • Филтрите работят само за нова поща. Писмата, които вече са в пощенската Ви кутия, остават там, където са. Ако създадете филтър днес, старите писма преместете сами.
  • Филтрите важат за една пощенска кутия. Всяка пощенска кутия има свои филтри. Ако искате да уредите нещо за всички пощенски кутии на Вашия домейн, например да блокирате подател, направете го в контролния панел на Вашия хостинг.

Филтрите са написани на Sieve, прост език, създаден специално за филтриране на поща (RFC 5228). Пощенският сървър на WebOké използва Dovecot с Pigeonhole, реализацията на Sieve в Dovecot. Webmail превръща изборите Ви във формуляра в Sieve скрипт и го изпраща до сървъра чрез протокола ManageSieve (RFC 5804). Не е нужно да пишете на Sieve, но който може да го чете, разбира точно какво правят филтрите му.

Набор филтри, правила, условия и действия

Наборът филтри е целият скрипт: всички филтри на пощенската Ви кутия в един файл. Можете да имате няколко набора филтри, но винаги само един от тях е активен.

В набора филтри се намират филтрите, които в webmail се наричат и правила. Всеки филтър има:

  • име, само за Вас;
  • обхват: писмото трябва да отговаря на всички правила, на едно от правилата, или филтърът важи за всички писма;
  • едно или повече условия: къде гледа филтърът (заглавие, подател, друг заглавен ред), как сравнява и с какъв текст;
  • едно или повече действия: какво се случва, ако условията са изпълнени.

За сравняването има три начина:

В webmailВ SieveЗначение
съдържа:containsтекстът се среща някъде в заглавния ред
е равно на:isзаглавният ред е точно този текст
съвпада с израз:matchesшаблон с * (нула или повече знака) и ? (точно един знак)

И при трите начина главните и малките букви нямат значение. По подразбиране Sieve сравнява с правилото i;ascii-casemap, което третира главните и малките букви еднакво. Така „factuur“ намира също „FACTUUR“ и „Factuur“.

Ето как изглежда един набор филтри

В webmail можете да видите набора филтри като текст чрез Филтри > Действия > Редакция на набор филтри. Пример, както го записва webmail:

require ["fileinto"];
# rule:[Nieuwsbrieven]
if exists "List-Id"
{
	fileinto "Nieuwsbrieven";
	stop;
}
# rule:[Facturen]
if allof (header :contains "subject" "factuur")
{
	fileinto "Facturen";
}
# rule:[Collega Daan]
if false # header :contains "from" "daan@example.com"
{
	fileinto "INBOX.Team";
}

Ред по ред:

  • require ["fileinto"]; иска от сървъра разширението, което е нужно за преместване в папка. Webmail сам го поставя най-отгоре, заедно с всички разширения, които скриптът използва.
  • # rule:[Nieuwsbrieven] е коментар. По него webmail разпознава името на Вашия филтър. Сървърът пропуска този ред.
  • if exists "List-Id" е условието: писмото има заглавен ред List-Id. Бюлетините и пощенските списъци имат такъв (RFC 2919).
  • fileinto "Nieuwsbrieven"; премества писмото в папката Nieuwsbrieven (бюлетини). Името на папката е пълното име на сървъра, с точка като разделител (урок 5.1). Така папка под Входящи се казва INBOX.Team.
  • stop; спира целия скрипт. Следващите филтри вече не разглеждат това писмо. В webmail това действие се казва Спри проверка на други условия.
  • if false # ... е изключен филтър. Ако изключите Включен филтър, webmail превръща условието в false: никога не е вярно. Старото условие остава като коментар, за да можете по-късно да го включите отново.
Sieve скриптът на набора филтри в Редактиране на набор филтри
Вашите филтри така, както ги чете сървърът: Sieve скрипт

Отгоре надолу

Сървърът чете скрипта отгоре надолу и разглежда всеки филтър. При това важат три правила.

1. Без действие писмото остава във Входящи. Sieve познава имплицитното запазване (implicit keep, RFC 5228, раздел 2.10.2): ако нито един филтър не направи нищо, писмото просто попада във Входящи.

2. След преместване писмото не остава и във Входящи. Командата fileinto изключва имплицитното запазване. Писмото попада в избраната папка, а не допълнително във Входящи. Ако искате и двете, използвайте Копирай писмото във.

3. Без stop следващите филтри също проверяват писмото. Ако липсва stop, сървърът продължава със следващия филтър. Ако и той пасва, сървърът изпълнява и неговото действие. Две премествания в две папки означават, че писмото попада и в двете папки. С stop решава първият подходящ филтър.

Затова редът има значение. В горния пример Nieuwsbrieven стои над Facturen, със stop. Бюлетин с „Je factuur“ в заглавието отива в Nieuwsbrieven, а не във Facturen. Ако обърнете реда, същият бюлетин попада във Facturen, защото този филтър няма stop и сега е първи. Тогава бюлетинът дори ще се окаже и в двете папки. Затова поставяйте най-конкретните филтри най-отгоре и им давайте stop.

Проследяване на писмо: така го предвиждате

Вземете едно писмо и проследете скрипта така, както го прави сървърът:

  1. Започнете от първия филтър. Изключен ли е (if false)? Пропуснете го.
  2. Изпълнено ли е условието? Гледайте точно заглавния ред: subject е заглавието, from е подателят с име и адрес, to е получателят.
  3. Ако да: изпълнете действията. Ако има stop, сте готови.
  4. Ако не, или ако няма stop: преминете към следващия филтър.
  5. Накрая: ако нито един филтър не е преместил или изтрил писмото, то е във Входящи (INBOX).

С тези пет стъпки можете да прочетете всеки скрипт, дори и дълъг.

На практика: така работи в webmail

Филтрите ще намерите в Настройки > Филтри. Списъкът показва филтрите Ви в реда, в който сървърът ги изпълнява; можете да ги плъзгате, за да промените реда. Под Действия е Редакция на набор филтри: там виждате и променяте скрипта като текст. Стъпките за нов филтър са описани в ръководството за Roundcube, в раздела Създаване на филтър. В други webmail услуги работи по подобен начин: Gmail има филтри, Outlook.com има правила. Те не използват Sieve, но и там редът и спирането имат значение.

Обобщение

  • Филтрите работят на пощенския сървър при доставката, следователно и когато webmail е затворен, и само за нова поща.
  • Webmail записва филтрите Ви като Sieve скрипт (RFC 5228) и го поставя на сървъра чрез ManageSieve.
  • Съдържа, е равно на и съвпада с израз по подразбиране не различават главни и малки букви.
  • Ако никой филтър не направи нищо, писмото остава във Входящи; след преместване то не остава и във Входящи.
  • Филтрите се изпълняват отгоре надолу; stop прекратява скрипта, затова редът определя резултата.

Тест (quiz)

1. Днес създавате филтър за папката Facturen. Какво става с фактурите, които вече са във Входящи?



2. Филтър със „Заглавие съдържа factuur“ получава писмо със заглавие „FACTUUR 118“. Какво се случва?



3. Какво означава if false # header :contains "from" "daan@example.com" в набор филтри?



4. Писмо пасва на първия филтър (преместване във Facturen, без stop) и на втория (преместване в Klanten). Къде ще попадне?



5. Кога сървърът запазва писмо във Входящи?



Задача

Задача A6.1: Къде ще попадне това писмо? Отворете материала filters-1.txt, набор филтри, както го записва webmail, и berichten-1.txt, със заглавните редове (хедъри) на четири входящи писма, номерирани от 1 до 4. Проследете всяко писмо по петте стъпки от този урок: отгоре надолу, като пропускате изключените филтри и внимавате за stop. За всяко писмо въведете името на папката, в която попада, точно както е в скрипта; ако писмото попада във Входящи, въведете INBOX. Програмата сравнява четирите Ви отговора с ключа за отговорите и за всяко писмо показва кой филтър е бил решаващ.

Задача A6.1: Къде ще попадне това писмо?

Файл към тази задача: filters-1.txt, berichten-1.txt





Това, което въвеждате, и резултатите от проверката не се съхраняват. Браузърът Ви запомня отговорите и дали сте изпълнили задачата. Ако сте влезли, запазваме само дали задачата е била (почти) правилна в Моите курсове; и там можете да го изтриете.

Прочетете още

Където са описани стъпки в webmail, те се отнасят за webmail на WebOké; в други webmail услуги работи по подобен начин.

Моля, изчакайте…

Настройте домейните си

За всеки домейн настройте сървърите за имена, връзката с хостинга и кой ще бъде собственикът.

Домейните Ви се зареждат…