Gå direkte til indholdet

Cookieindstillinger

Vælg for hver type, hvilke cookies du tillader. Du kan altid ændre dit valg via Cookieindstillinger nederst på hver side. Privatlivspolitik

Nødvendige

Altid slået til

Nødvendige for at logge ind, gemme din kurv og huske dine valg. De er altid slået til.

Hvilke cookies?
  • weboke_sessie, weboke_klant, weboke_remember: din session og at forblive logget ind
  • weboke_basket: din kurv
  • wkBtwIncl: vise priser med eller uden moms
  • wok_cookies: dit cookievalg, 12 måneder

Måler, hvilken annonce der fører til et besøg eller en bestilling, så vi ikke betaler for annoncer, der ikke virker.

Hvilke cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), op til 90 dage
  • OpenAI Ads, annoncer i ChatGPT
  • wok_aff: hvilken partner der henviste dig til os (affiliateprogram), 60 dage

4,6

Land og sprog

Hvert land har sin egen side med landets priser og moms.

Se

Sådan fungerer filtre

Modul 6: Automatisk: filtre og fravær · Læsetid: 10 minutter

Læringsmål: Efter denne lektion kan du forklare, hvor og hvornår filtre kører, læse et filterscript i Sieve og forudsige, hvilken mappe en indgående besked havner i.

Centrale begreber: filter, Sieve, ManageSieve, filtersæt, regel, betingelse, handling, implicit gemning, stop, indeholder, er ens med, matcher udtryk

Filtre kører på serveren

Et filter sorterer din mail automatisk: mail med "factuur" i emnet til mappen Facturen (fakturaer), nyhedsbreve til en mappe for sig. Det vigtigste at vide: sorteringen sker ikke i webmailen, men på mailserveren, i det øjeblik en besked bliver leveret i din mailboks.

Det betyder tre ting:

  • Filtre virker også, når webmailen er lukket. Din bærbare må gerne være slukket. Telefonen ser mailen med det samme i den rigtige mappe.
  • Filtre virker kun på ny mail. Mail, der allerede ligger i din mailboks, bliver, hvor den er. Laver du et filter i dag, flytter du selv de gamle beskeder.
  • Filtre gælder for én mailboks. Hver mailboks har sine egne filtre. Vil du ordne noget for alle mailbokse på dit domæne, fx blokere en afsender, gør du det i kontrolpanelet til dit webhotel.

Filtrene er skrevet i Sieve, et enkelt sprog lavet specielt til at filtrere mail (RFC 5228). Mailserveren hos WebOké bruger Dovecot med Pigeonhole, Dovecots udgave af Sieve. Webmailen omsætter dine valg i formularen til et Sieve-script og sender det til serveren via protokollen ManageSieve (RFC 5804). Du behøver ikke skrive Sieve selv, men kan du læse det, forstår du præcis, hvad dine filtre gør.

Filtersæt, regler, betingelser og handlinger

Et filtersæt er hele scriptet: alle filtre i din mailboks samlet i én fil. Du kan have flere filtersæt, men der er altid kun ét aktivt.

I filtersættet står filtrene, som i webmailen også kaldes regler. Hvert filter har:

  • et navn, kun til dig selv;
  • et omfang: beskeden skal opfylde alle regler, én af reglerne, eller filteret gælder for alle meddelelser;
  • en eller flere betingelser: hvor kigger filteret (emne, afsender, en anden header), hvordan sammenligner det, og med hvilken tekst;
  • en eller flere handlinger: hvad sker der, når betingelserne er opfyldt.

Der er tre måder at sammenligne på:

I webmailenI SieveBetydning
indeholder:containsteksten står et sted i headeren
er ens med:isheaderen er præcis denne tekst
matcher udtryk:matchesmønster med * (nul eller flere tegn) og ? (præcis ét tegn)

Store bogstaver betyder ikke noget i nogen af de tre. Sieve sammenligner som standard med reglen i;ascii-casemap, der behandler store og små bogstaver ens. "factuur" finder altså også "FACTUUR" og "Factuur".

Sådan ser et filtersæt ud

I webmailen kan du se filtersættet som tekst med Filtre > Handlinger > Rediger filtersæt. Et eksempel, som webmailen skriver det:

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";
}

Linje for linje:

  • require ["fileinto"]; beder serveren om den udvidelse, der skal til for at flytte til en mappe. Webmailen sætter selv dette øverst, med alle de udvidelser, scriptet bruger.
  • # rule:[Nieuwsbrieven] er en kommentar. Med den genkender webmailen navnet på dit filter. Serveren springer linjen over.
  • if exists "List-Id" er betingelsen: beskeden har en List-Id-header. Det har nyhedsbreve og mailinglister (RFC 2919).
  • fileinto "Nieuwsbrieven"; flytter beskeden til mappen Nieuwsbrieven (nyhedsbreve). Mappenavnet er det fulde navn på serveren, med punktum som skilletegn (lektion 5.1). En mappe under Indbakke hedder altså INBOX.Team.
  • stop; stopper hele scriptet. De følgende filtre kigger ikke længere på denne besked. I webmailen hedder den handling Stop behandling af regler.
  • if false # ... er et deaktiveret filter. Slår du Filter aktiveret fra, gør webmailen betingelsen til false: aldrig sand. Den gamle betingelse bliver stående som kommentar, så du senere kan slå den til igen.
Filtersættets Sieve-script i Rediger filtersæt
Dine filtre, sådan som serveren læser dem: et Sieve-script

Fra top til bund

Serveren læser scriptet fra top til bund og ser på hvert filter. Her gælder tre regler.

1. Uden handling bliver beskeden i Indbakke. Sieve har implicit gemning (implicit keep, RFC 5228, afsnit 2.10.2): gør intet filter noget, havner beskeden helt normalt i Indbakke.

2. Efter en flytning ligger beskeden ikke også i Indbakke. En fileinto slår den implicitte gemning fra. Beskeden havner i den valgte mappe og ikke samtidig i Indbakke. Vil du have begge dele, så brug Kopier besked til.

3. Uden stop kigger de næste filtre også. Mangler stop, fortsætter serveren med det næste filter. Passer det filter også, udfører serveren også den handling. To flytninger til to mapper betyder, at beskeden havner i begge mapper. Med stop er det første passende filter, der bestemmer.

Derfor betyder rækkefølgen noget. I eksemplet ovenfor står Nieuwsbrieven over Facturen, med et stop. Et nyhedsbrev med "Je factuur" i emnet går altså til Nieuwsbrieven og ikke til Facturen. Vender du rækkefølgen om, havner det samme nyhedsbrev i Facturen, for det filter har intet stop og kommer nu først. Nyhedsbrevet ville så endda ligge i begge mapper. Sæt derfor de mest specifikke filtre øverst, og giv dem et stop.

Gå en besked igennem: sådan forudsiger du det

Tag en besked, og gå scriptet igennem, som serveren gør:

  1. Start ved det første filter. Er det deaktiveret (if false)? Spring det over.
  2. Passer betingelsen? Se nøje på headeren: subject er emnet, from afsenderen med navn og adresse, to modtageren.
  3. Hvis ja: udfør handlingerne. Står der stop, er du færdig.
  4. Hvis nej, eller der er intet stop: gå videre til det næste filter.
  5. Til sidst: har intet filter flyttet eller slettet beskeden, ligger den i Indbakke (INBOX).

Med disse fem trin kan du læse ethvert script, også et langt.

I praksis: sådan virker det i webmailen

Filtre finder du under Indstillinger > Filtre. Listen viser dine filtre i den rækkefølge, serveren udfører dem; du trækker dem for at ændre rækkefølgen. Under Handlinger finder du Rediger filtersæt: der ser og ændrer du scriptet som tekst. Trinene til et nyt filter står i Roundcube-vejledningen under Opret et filter. Anden webmail virker på lignende måde: Gmail har filtre, Outlook.com har regler. De bruger ikke Sieve, men også der gælder rækkefølge og stop.

Opsummering

  • Filtre kører på mailserveren ved levering, altså også når webmailen er lukket, og kun på ny mail.
  • Webmailen skriver dine filtre som et Sieve-script (RFC 5228) og lægger det på serveren via ManageSieve.
  • Indeholder, er ens med og matcher udtryk skelner som standard ikke mellem store og små bogstaver.
  • Gør intet filter noget, bliver beskeden i Indbakke; efter en flytning ligger den ikke også i Indbakke.
  • Filtre kører fra top til bund; stop afslutter scriptet, så rækkefølgen afgør resultatet.

Quiz

1. Du laver i dag et filter til mappen Facturen. Hvad sker der med de fakturaer, der allerede ligger i Indbakke?



2. Et filter med "Emne indeholder factuur" modtager en mail med emnet "FACTUUR 118". Hvad sker der?



3. Hvad betyder if false # header :contains "from" "daan@example.com" i et filtersæt?



4. En besked passer til det første filter (flyt til Facturen, uden stop) og til det andet (flyt til Klanten). Hvor havner den?



5. Hvornår gemmer serveren en besked i Indbakke?



Opgave

Opgave A6.1: Hvor havner denne mail? Åbn materialet filters-1.txt, et filtersæt som webmailen skriver det, og berichten-1.txt med headerne fra fire indgående beskeder, nummereret 1 til 4. Gå hver besked igennem efter de fem trin fra denne lektion: fra top til bund, spring deaktiverede filtre over, hold øje med stop. Skriv for hver besked navnet på den mappe, den havner i, præcis som det står i scriptet; havner beskeden i Indbakke, så skriv INBOX. Programmet sammenligner dine fire svar med svarnøglen og viser for hver besked, hvilket filter der var afgørende.

Opgave A6.1: Hvor havner denne mail?

Fil til denne opgave: filters-1.txt, berichten-1.txt





Det, du udfylder, og hvad vi finder, gemmer vi ikke. Din browser husker dine svar, og om du har bestået opgaven. Er du logget ind, gemmer vi kun, at du (næsten) bestod opgaven, i Mine kurser; der kan du også slette det.

Læs videre

Hvor der står trin i webmailen, gælder de for WebOkés webmail; anden webmail virker på lignende måde.

Et øjeblik…

Opsæt dine domæner

Angiv for hvert domæne navneserverne, tilknytningen til din hosting, og hvem der bliver ejer.

Indlæser dine domæner…