Prejsť na obsah

Nastavenia súborov cookie

Vyberte, aké druhy súborov cookie povolíte. Svoj výber môžete kedykoľvek zmeniť cez Nastavenia súborov cookie v dolnej časti každej stránky. Vyhlásenie o ochrane osobných údajov

Nevyhnutné

Vždy zapnuté

Potrebné na prihlásenie, uchovanie košíka a zapamätanie vašich volieb. Sú vždy zapnuté.

Ktoré súbory cookie?
  • weboke_sessie, weboke_klant, weboke_remember: vaša relácia a trvalé prihlásenie
  • weboke_basket: váš košík
  • wkBtwIncl: zobrazovanie cien s DPH alebo bez DPH
  • wok_cookies: váš výber súborov cookie, 12 mesiacov

Merajú, ktorá reklama vedie k návšteve alebo objednávke, aby sme neplatili za reklamy, ktoré nič neprinášajú.

Ktoré súbory cookie?
  • Google Ads cez Google Tag Manager (_gcl_au, _gcl_aw), najviac 90 dní
  • OpenAI Ads, reklamy v ChatGPT
  • wok_aff: ktorý partner vás k nám odporučil (partnerský program), 60 dní

4,6

Krajina a jazyk

Každá krajina má vlastný web s cenami a DPH danej krajiny.

Zobraziť

Ako fungujú filtre

Modul 6: Automaticky: filtre a neprítomnosť · Čas čítania: 10 minút

Cieľ lekcie: Po tejto lekcii dokážete vysvetliť, kde a kedy bežia filtre, prečítať filtrovací skript v jazyku Sieve a predpovedať, do ktorého priečinka prichádzajúca správa dorazí.

Kľúčové pojmy: filter, Sieve, ManageSieve, súprava filtrov, pravidlo, podmienka, akcia, implicitné uloženie, stop, obsahuje, sa rovná, vyhovuje výrazu

Filtre bežia na serveri

Filter automaticky triedi vašu poštu: poštu so slovom "factuur" (faktúra) v predmete do priečinka Facturen, newslettery do vlastného priečinka. Najdôležitejšie je vedieť toto: triedenie neprebieha vo webmaile, ale na poštovom serveri, v okamihu, keď sa správa doručí do vašej schránky.

Z toho vyplývajú tri veci:

  • Filtre fungujú aj vtedy, keď je webmail zatvorený. Váš notebook môže byť vypnutý. Telefón uvidí poštu hneď v správnom priečinku.
  • Filtre fungujú len na novú poštu. Pošta, ktorá už vo vašej schránke je, zostane tam, kde je. Ak dnes vytvoríte filter, staršie správy presuniete sami.
  • Filtre platia pre jednu schránku. Každá schránka má vlastné filtre. Ak chcete niečo nastaviť pre všetky schránky vašej domény, napríklad zablokovať odosielateľa, urobíte to v administračnom paneli vášho hostingu.

Filtre sú napísané v jazyku Sieve, jednoduchom jazyku určenom špeciálne na filtrovanie pošty (RFC 5228). Poštový server vo WebOké používa Dovecot s Pigeonhole, implementáciou Sieve pre Dovecot. Webmail prevedie vaše voľby vo formulári na skript Sieve a pošle ho na server cez protokol ManageSieve (RFC 5804). Sieve písať nemusíte, ale kto ho vie čítať, presne rozumie tomu, čo jeho filtre robia.

Súprava filtrov, pravidlá, podmienky a akcie

Súprava filtrov je celý skript: všetky filtre vašej schránky v jednom súbore. Súprav filtrov môžete mať viac, ale aktívna je vždy len jedna.

V súprave filtrov sú filtre, ktoré sa vo webmaile nazývajú aj pravidlá. Každý filter má:

  • názov, len pre vás;
  • rozsah: správa musí spĺňať všetky pravidlá, jedno z pravidiel, alebo filter platí pre všetky správy;
  • jednu alebo viac podmienok: kam sa filter pozerá (predmet, odosielateľ, iná hlavička), ako porovnáva a s akým textom;
  • jednu alebo viac akcií: čo sa stane, keď sú podmienky splnené.

Na porovnávanie existujú tri spôsoby:

Vo webmaileV SieveVýznam
obsahuje:containstext sa nachádza niekde v hlavičke
sa rovná:ishlavička je presne tento text
vyhovuje výrazu:matchesvzor s * (žiadny alebo viac znakov) a ? (presne jeden znak)

Pri všetkých troch nezáleží na veľkých písmenách. Sieve predvolene porovnáva podľa pravidla i;ascii-casemap, ktoré považuje veľké a malé písmená za rovnaké. "factuur" teda nájde aj "FACTUUR" a "Factuur".

Takto vyzerá súprava filtrov

Vo webmaile si súpravu filtrov môžete pozrieť ako text cez Filtre > Akcie > Upraviť súpravu filtrov. Príklad, ako ho zapíše 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";
}

Riadok po riadku:

  • require ["fileinto"]; žiada server o rozšírenie potrebné na presun do priečinka. Webmail to sám umiestni na začiatok spolu so všetkými rozšíreniami, ktoré skript používa.
  • # rule:[Nieuwsbrieven] je komentár. Podľa neho webmail rozpozná názov vášho filtra. Server tento riadok preskočí.
  • if exists "List-Id" je podmienka: správa má hlavičku List-Id. Majú ju newslettery a e-mailové konferencie (RFC 2919).
  • fileinto "Nieuwsbrieven"; presunie správu do priečinka Nieuwsbrieven (newslettery). Názov priečinka je úplný názov na serveri, s bodkou ako oddeľovačom (lekcia 5.1). Priečinok pod Doručená pošta sa teda volá INBOX.Team.
  • stop; zastaví celý skript. Ďalšie filtre sa na túto správu už nepozerajú. Vo webmaile sa táto akcia volá Koniec pravidiel.
  • if false # ... je vypnutý filter. Ak vypnete Filter zapnutý, webmail urobí z podmienky false: nikdy neplatí. Pôvodná podmienka zostane ako komentár, aby ste ju neskôr mohli znova zapnúť.
Sieve skript sady filtrov v okne Upraviť sadu filtrov
Vaše filtre tak, ako ich číta server: Sieve skript

Zhora nadol

Server číta skript zhora nadol a prechádza každý filter. Platia pritom tri pravidlá.

1. Bez akcie zostane správa v priečinku Doručená pošta. Sieve pozná implicitné uloženie (implicit keep, RFC 5228, sekcia 2.10.2): ak žiadny filter nič neurobí, správa jednoducho dorazí do priečinka Doručená pošta.

2. Po presune správa nie je zároveň aj v priečinku Doručená pošta. Akcia fileinto implicitné uloženie vypne. Správa dorazí do zvoleného priečinka a nie popritom aj do priečinka Doručená pošta. Ak chcete oboje, použite Kopírovať správu do.

3. Bez stopu sa pozerajú aj ďalšie filtre. Ak chýba stop, server pokračuje ďalším filtrom. Ak sedí aj ten, server vykoná aj jeho akciu. Dva presuny do dvoch priečinkov znamenajú, že správa skončí v oboch priečinkoch. S stop rozhoduje prvý vyhovujúci filter.

Preto záleží na poradí. V príklade vyššie je Nieuwsbrieven nad Facturen, so stopom. Newsletter s textom "Je factuur" v predmete teda ide do Nieuwsbrieven, a nie do Facturen. Ak poradie otočíte, ten istý newsletter skončí vo Facturen, pretože tento filter nemá stop a teraz je prvý. Newsletter by potom bol dokonca v oboch priečinkoch. Najkonkrétnejšie filtre preto dávajte navrch a pridajte im stop.

Prechod správou: takto to predpoviete

Vezmite správu a prejdite skript tak, ako to robí server:

  1. Začnite pri prvom filtri. Je vypnutý (if false)? Preskočte ho.
  2. Je podmienka splnená? Pozrite sa presne na hlavičku: subject je predmet, from odosielateľ s menom a adresou, to príjemca.
  3. Ak áno: vykonajte akcie. Ak je tam stop, ste hotoví.
  4. Ak nie, alebo ak chýba stop: prejdite na ďalší filter.
  5. Na konci: ak žiadny filter správu nepresunul ani nevymazal, je v priečinku Doručená pošta (INBOX).

S týmito piatimi krokmi dokážete prečítať akýkoľvek skript, aj dlhý.

V praxi: takto to funguje vo webmaile

Filtre nájdete v Nastavenia > Filtre. Zoznam zobrazuje vaše filtre v poradí, v akom ich server vykonáva; poradie zmeníte presúvaním myšou. Pod Akcie je Upraviť súpravu filtrov: tam vidíte a upravujete skript ako text. Postup pre nový filter nájdete v Príručke k Roundcube v časti Vytvorenie filtra. V inom webmaile to funguje podobne: Gmail má filtre, Outlook.com pravidlá. Tie nepoužívajú Sieve, ale aj tam platí poradie a zastavenie.

Zhrnutie

  • Filtre bežia na poštovom serveri pri doručení, teda aj vtedy, keď je webmail zatvorený, a len na novú poštu.
  • Webmail zapíše vaše filtre ako skript Sieve (RFC 5228) a cez ManageSieve ho uloží na server.
  • Obsahuje, sa rovná a vyhovuje výrazu predvolene nerozlišujú veľké a malé písmená.
  • Ak žiadny filter nič neurobí, správa zostane v priečinku Doručená pošta; po presune v ňom zároveň nie je.
  • Filtre sa prechádzajú zhora nadol; stop ukončí skript, takže o výsledku rozhoduje poradie.

Kvíz

1. Dnes vytvoríte filter pre priečinok Facturen. Čo sa stane s faktúrami, ktoré už sú v priečinku Doručená pošta?



2. Filter s podmienkou "Predmet obsahuje factuur" dostane e-mail s predmetom "FACTUUR 118". Čo sa stane?



3. Čo znamená if false # header :contains "from" "daan@example.com" v súprave filtrov?



4. Správa vyhovuje prvému filtru (presun do Facturen, bez stopu) aj druhému (presun do Klanten). Kde skončí?



5. Kedy server uloží správu do priečinka Doručená pošta?



Úloha

Úloha A6.1: Kam táto správa dorazí? Otvorte materiál filters-1.txt, súpravu filtrov tak, ako ju zapisuje webmail, a berichten-1.txt s hlavičkami štyroch prichádzajúcich správ, očíslovaných od 1 do 4. Prejdite každú správu podľa piatich krokov z tejto lekcie: zhora nadol, vypnuté filtre preskočiť, sledovať stop. Pri každej správe vyplňte názov priečinka, do ktorého dorazí, presne tak, ako je uvedený v skripte; ak správa dorazí do priečinka Doručená pošta, vyplňte INBOX. Program porovná vaše štyri odpovede s kľúčom správnych odpovedí a pri každej správe ukáže, ktorý filter rozhodol.

Úloha A6.1: Kam táto správa dorazí?

Súbor k tejto úlohe: filters-1.txt, berichten-1.txt





Čo vyplníte a čo nájdeme, neukladáme. Váš prehliadač si pamätá vaše odpovede a to, či ste úlohu splnili. Po prihlásení si v sekcii Moje kurzy uchovávame iba to, že úloha bola (takmer) správne vyriešená; aj to tam môžete odstrániť.

Ďalšie čítanie

Kde sú uvedené kroky vo webmaile, platia pre webmail WebOké; v inom webmaile to funguje podobne.

Chvíľu strpenia…

Nastavte svoje domény

Pri každej doméne nastavte nameservery, prepojenie s hostingom a to, kto bude jej vlastníkom.

Načítavajú sa vaše domény…