Brevfiltre

Efter at have brugt KMail et stykke tid, vil du måske finde at du har besvær med at sortere de nye breve i din indbakke når de ankommer. Filtre tillader dig at udføre visse handlinger automatisk på indkommende breve, og at udføre visse handlinger manuelt på valgte breve i en mappe.

Bemærk venligst at de filtre der er beskrevet i dette afsnit anvendes efter brevene er taget ned fra din konto. Hvis du ønsker at filtrere breve på serveren, se Nedtagningsfiltre.

Filtre består af: et filterkriterium, hvis regler bruges som kriterium til at afgøre om dette filter skal anvendes på et givet brev; og en liste af handlinger, som beskriver hvad der skal gøres med eller ved brevet, hvis filterkriteriet passer. Læs mere om søgemønstre og filterhandlinger i de følgende underafsnit.

Bemærk

Filtre betragtes en af gangen, begyndende med det første filter i listen. Det første hvis mønster passer med et givet brev udføres. Du kan bede om også at få anvendt de øvrige filtre, men standard er at standse behandlingen ved det første passende filter.

Sædvanligvis anvendes filtre på indkommende breve, men de kan også anvendes på sendte breve eller på et vilkårligt brev eller grupper af breve. For selektivt at filtrere breve, skal man vælge brevene man ønsker at filtrere i brevlisten og enten skrive Ctrl+J eller vælge Brev->Anvend filtre. Dette vil anvende alle filtre der er blevet markeret til manuel filtrering i filterdialogen på disse breve.

Hurtig filteroprettelse

Der findes to metoder til at oprette et filter; Den hurtige metode er at bruge Brev->Opret filter. Dette vil kalde filterdialogen frem og præsentere dig for et nyt filter, som allerede har den første regel for søgemønster og den første handling (som Flyt til mappe) sat. I de fleste tilfælde skal du ikke gøre andet end at vælge mappen som brevet skal flyttes til. Men du kan selvfølgelig redigere filteret som du har lyst.

Når der oprettes et filter på en e-mail-listes breve vil denne metode prøve virkelig hårdt på at finde et kriterium der entydig identificerer brevene fra den liste. Hvis det lykkes, vil det gættede navn på listen blive vist i Brev->Opret filter->Filtrér på post-liste... menuindgangen.

Den anden metode er at konstruere et filter manuelt fra begyndelsen ved at kalde filterdialogen frem gennem Opsætning->Indstil filtre.... Filterdialogen bliver beskrevet i detaljer i det følgende underafsnit.

Filterdialogen

Denne dialog lader dig håndtere og redigere din liste af filtre.

Du kan komme til den enten via Brev->Opret filter eller Opsætning->Indstil filter....

Dialogen er opdelt i fire hovedafdelinger:

Tilgængelige filtre

Denne gruppe indeholder listen af filtre og nogle handlingsknapper til at ændre filtrene, nemlig: at oprette nye filtre; at flytte dem op eller ned på listen; at slette dem; eller omdøbe dem. Hvis du vælger et filter fra listen, vises dets egenskaber i højre side af dialogen.

Filterkriterier

I denne gruppe kan du redigere mønstret som breve skal passe med for at filtret anvendes på dem. Her kan du vælge om alle definerede regler skal passe eller om det er nok at en af reglerne passer. Se Søgemønstre nedenfor for en detaljeret beskrivelse af hver søgeregeltype.

Du kan klikke på Mere for få flere (oprindeligt tomme) regler, hvis du ønsker at definere mere komplekse mønstre og på Færre for at fjerne den sidste regel. Ryd rydder mønstret, dvs. det fjerner alle undtagen to regler fra skærmen, og det nulstiller disse to.

Ugyldige eller tomme regler evalueres ikke.

Filterhandlinger

I denne gruppe kan du redigere listen af handlinger som de anvendes på alle breve der passer med det definerede filterkriterium. Se Filterhandlinger nedenfor for en detaljeret beskrivelse af hver type.

Du kan klikke på Mere for at få en ny tom handling (hvis du ønsker at definere mere end en handling) og på Færre for at fjerne den sidste handling. Ryd rydder listen, dvs. den fjerner alle undtagen en handling og nulstiller denne.

Ugyldige eller tomme handlinger udføres ikke.

Avancerede indstillinger

I denne gruppe kan du definere nogle få avancerede indstillinger for filtre, som tillader dig at forfine din filtrering.

Ved brug af den første række af afkrydsningsfelter, kan du skifte mellem hvornår filtret anvendes : valget indkommende breve betyder at filtret anvendes på breve når du modtager dem (dvs. ved Tjek for post); Sendte breve betyder at filtret anvendes på breve når du sender dem og ved manuel filtrering kontrollerer om dette filter skal anvendes når filtrering er specifikt valgt (dvs. via Brev->Anvend filtre.)

Hvis dette filter matcher, så stop behandling her kontrollerer om filtrene efter det nuværende filter bliver anvendt hvis dette filter matcher.

Hvis Tilføj dette filter til 'Anvend filter'-menuen i tredje række er valgt, så vil dette filter blive indsat i undermenuen Brev->Anvend filter. Du kan så anvende dette filter på et brev. En anden måde at anvende filtre er at bruge menupunktet Brev->Anvend filtre, hvilket anvender alle filtrene - det ene efter det andet indtil se alle er brugt eller et af de filtre der matcher har Hvis filtrene matcher, så stop behandling her.

Bemærk

Filtre får automatisk navn, med mindre du eksplicit omdøber dem ved brug af Omdøb... knappen. Dialogen antager at den skal fortsætte med automatisk navngivning af filtret så længe filternavnet begynder med “<”.

Bemærk

Hvis du anvender filterændringer, via O.k. eller Anvend, er det kun gyldige filtre der rent faktisk kopieres til den indre filterhåndtering.

Tilsvarende bliver tomme regler og handlinger fjernet fra henholdsvis mønster- og handlingslisten, før filtret gemmes.

Søgemønstre

Den mest almindelige brug af filtre er at filtrere på senderen af brevene. Dette kan gøres ved at vælge Fra. Et godt gæt på en post-liste ville være <modtagere>. Men der er andre kriterier et filter kan søge på. (Bemærk at fortolkning af alle mønstre ikke er versalfølsomme):

<brev>

Gennemsøger hele brevet (dvs. hoveddele, brødtekst og bilag hvis der er nogle);

<brødtekst>

Gennemsøger brødteksten i brevet (dvs. hele brevet undtagen hoveddele);

<vilkårlig hoveddel>

Søger hoveddelen af brevet;

<modtager>

Søger i “Til” og “CC” hovedfelterne af brevet;

<størrelse i byte>

Sætter øvre og nedre grænser for brevets størrelse;

<alder i dage>

Sætter øvre og nedre grænser for brevets alder;

<status>

Sætter restriktioner for brevets status;

Et vilkårlig andet navn

Søger hoveddelen der er givet ved dette navn.

Listen af mulige regler afhænger af hvad du valgte i det første dropned-felt. De mulige regler er:

RegelTilgængelige forBeskrivelse
indeholder/indeholder ikkealle tekstmæssige søgeudtrykMatcher hvis det søgte punkt indeholder (eller ikke indeholder) den givne tekst.
er lig med/er ikke lig medde fleste tekstmæssige søgeudtrykMatcher hvis det søgte punkt er lig med (eller ikke er lig med) den givne tekst.
matcher regulært udtryk/matcher ikke regulært udtrykalle tekstmæssige søgeudtrykMatcher hvis en del af søgeudtrykket matcher det givne regulære udtryk (eller ikke matcher det). Hvis editoren for regulære udtryk er installeret så kan du redigere det regulære udtryk ved at klikke på knappen Redigér....
har et bilag/har ikkenoget bilag<brev>Matcher hvis brevet har et bilag (eller ikke har et bilag).
er i adressebogen/er ikke i adressebogende fleste tekstmæssige søgeudtrykMatcher hvis søgeudtrykket indeholder en adresse der er i din adressebog (eller hvis søgeudtrykket kun indeholder ukendte adresser). Denne regel giver naturligvis kun mening for adressefelter såsom Fra eller <modtagere>
er i kategori/er ikke i kategoride fleste tekstmæssige søgeudtrykMatcher hvis søgeudtrykket indeholder en adresse der er i den angivne kategori i din adressebog (eller hvis søgeudtrykket ikke indeholder nogen adresse der er i den angivne kategori). Igen, denne regel giver kun mening for adressefelter.
er ligmed/er ikke lig mednumeriske søgeudtrykMatcher hvis værdien af søgeudtrykket er lig med (eller ikke er lig med) den angivne værdi.
er mindre endnumeriske søgeudtrykMatcher hvis værdien af søgeudtrykket er mindre end den angivne værdi.
er større endnumeriske søgeudtrykMatcher hvis værdien af søgeudtrykket er større end den angivne værdi.
er mindre end eller lig mednumeriske søgeudtrykMatcher hvis værdien af søgeudtrykket er mindre end eller lig med den angivne værdi.
er større end eller lig mednumeriske søgeudtrykMatcher hvis værdien af søgeudtrykket er større end eller lig med den angivne værdi.
er/er ikke<status>Matcher hvis brevet har (eller ikke har) den angivne status.

Filterhandling

Den mest almindelige brug af filtre er at sortere indkommende breve til visse mapper. Dette kan gøres ved at vælge Flyt til mappe. Her er en liste af alle mulige handlinger:

Flyt til mappe

Dette vil flytte filen til en anden mappe om nødvendigt fjerne den fra sin nuværende mappe; du kan for øjeblikket ikke bruge IMAP-mapper som mål.

Kopiér til mappe

Dette vil kopiere brevet til en anden mappe.

Bemærk

Du kan for øjeblikket ikke bruge IMAP-mapper som mål.

Sæt identitet til

Dette vil sætte identiteten der vil blive brugt, hvis du svarer på dette brev.

Markér som

Dette tillader dig at markere brevet som læst eller vigtigt (med flag), men også som videresendt, svaret på osv.

Send falsk MDN

Dette vil afsende en snydebesked (dvs. en læsekvittering) til afsenderen af brevet.

Sæt overførselsmetode til

Dette vil sætte overførselsmetoden (f.eks. SMTP) der vil blive brugt, hvis du svarer på brevet.

Sæt Reply-To til

Dette vil ændre Reply-To feltet i dette brev. Dette kan være nyttigt for postlister som automatisk sætter et Reply-To som du ikke kan lide.

Videresend til

Dette vil videresende brevet indlejret (dvs. som hvis du valgte Brev->Videresend->Indlejret...) til en anden e-mail-adresse.

Omdirigér til

Dette vil omdirigere brevet som det er til en anden e-mailadresse.

Bekræft modtagelse

Vil forsøge at sende et brev til afsenderen der indikerer at at det lykkedes at levere brevet, hvis afsenderen beder om det.

Dette tillader dig at vælge hvem der får modtagelseskvitteringer fra dig. Selvom du globalt kan aktivere afsending af modtagelseskvitteringer i Indstil KMail...-dialogen (Sikkerhed page) anbefaler vi ikke at sende dem til alle, da det gør sporing af sådanne ting som spam meget nemt for afsenderen.

Udfør kommando

Dette vil køre et program, men vil ikke ændre brevet. Angiv den fulde sti til programmet du ønsker at køre; KMail vil så standse indtil programmet vender tilbage. Hvis du ikke ønsker at KMail skal blokere så vedlæg '&' til kommandoen. Du kan føde programmet med dele af brevet: %0, %1, osv. står for filer repræsenterende brevets dele. For almindelige breve er %0 teksten, %1 det første bilag og så videre. Derudover fødes hele brevet til programmets stdin; og hver forekomst af %{foo} blive erstattet med indholdet af foo-headeren.

Advarsel

Dette virker for øjeblikket kun hvis brevet har mindst et bilag. Intet, selv ikke %0 vil virke i det generelle tilfælde!

Vink

Du kan indgive vilkårligt komplekse skalkommandoer her, da KMail bruger en underskal til at køre kommandolinjen. Derfor vil selv denne kommando virke (indenfor sine begrænsninger): uudecode -o $(mktemp kmail-uudecoded.XXXXXX) && echo $'\a'

Send videre gennem

Dette vil føde brevet til et program: hvis programmet giver uddata vil hele brevet (inklusive hovedet) blive erstattet med denne uddata; hvis programmet ikke producerer uddata, eller afslutter med en returkode andet end 0 (hvilket indikerer at der opstod en fejl), vil brevet ikke blive ændret. Angiv fuld sti til programmet. De samme substitutioner (%n, %{foo} som med kør kommando udføres på kommandolinjen.

Advarsel

Pas på med dette, da det nemt kan give rod i dine breve hvis filterprogrammet blot returnerer sludder eller ekstra linjer.

Fjern hoved

Vil fjerne alle hovedfelter med det givne navn fra brevet. Dette er hovedsageligt nyttigt til at fjerne falske “Reply-To:” hoveddele.

Tilføj hoved

Hvis der ikke allerede er et sådant felt til stede, vil det tilføje et nyt felt i hovedet med det givne navn og den givne værdi til brevet. Hvis der allerede er et felt med dette navn, vil det blive overskrevet med den givne værdi; hvis der allerede er flere felter med det givne navn (f.eks.Modtaget:”), vil en vilkårlig af den blive overskrevet og de andre forblive uændrede. Dette er en kendt begrænsning. Du vil måske ønske at kombinere dette filter med fjern hoved filteret ovenfor for at være sikker på at ingen andre hoveddele med dette navn er i brevet.

Genskriv hoved

Vil skanne det givne hovedfelt, ændre dets indhold og skrive det tilbage. Søgestrengen bliver altid fortolket som et versalfølsomt regulært udtryk. Erstatningsstrengen bliver indsat som den er undtagen forekomster af \n, $n og ${nn}, hvor n er et positivt (et-ciffer, undtagen i tredje form) tal eller 0. Disse konstruktioner bliver fortolkede som referencer tilbage til delstrenge indfanget i parenteser i søgestrengen.

Analoge begrænsninger som i tilføj hoveddel handlingen gælder også her.

Afspil lyd

Vil afspille den angiven lyd.

Filtereksempler

Hvis jeg abonnerer på den (generelle) KDE liste, kan jeg oprette en mappe for listen (Jeg vil kalde den KDE-Generel) og bruge et filter til automatisk overførsel af nye breve fra min indbakke til min KDE-Generel mappe, hvis de kommer fra KDE listen. Dette viser hvordan jeg opretter et sådant filter:

Procedure 3.1. Filtrering af postliste

  1. Prøv om Brev->Opret filter->Filtrér på postliste... kan identificere postlisten (så skulle navnet på listen vise sig i menupunktet); i dette tilfælde virker dette, og jeg bliver præsenteret for et filter der har “List-id indeholder <kde@kde.org>” sat. Du vælger nu den ønskede målmappe fra mappe træk-ned menuen i Filter handling gruppen, og det er det hele.

    Hvis dette ikke virker, så prøv at tænke på en entydig måde at identificere brevene du ønsker at filtrere. Den (næsten) entydige egenskab for mine KDE liste breve er at de altid indeholder “kde@kde.org” iTil: eller CC: feltet. Det er kun næsten entydigt, da det mislykkes for krydspostede breve.

  2. Vælg Opsætning->Indstil filter....

  3. Tryk på Ny knappen for at lave et tomt filter. Det vil vise sig som <ukendt>.

  4. I Filterkriterier området, vælg <modtagere> fra den første dropned-menu, indeholder fra den anden dropned-menu, og skriv kde@kde.org i tekstfeltet.

  5. Spring ned til Filterhandlinger-afdelingen. Vælg flyt til mappe fra det første dropned-felt. Et nyt dropned-felt der indeholder en liste af mapper vil komme frem. Vælg den mappe du ønsker de filtrerede breve skal overføres til. For dette eksempel, ville du vælge KDE-Generel fra dropned-menuen.

Du vil måske finde at du har brug for kraftigere kriterier for at filtrere dine breve rigtigt; for eksempel vil du måske kun filtrere KDE-liste breve der er skrevet af din ven Claus Hindsgaul <ch@etsted.dk>. Det er her resten af de passende kriterier afsnittet kommer i spil:

Procedure 3.2. Udvidelse af filtret

  1. Åbn Indstil filtre... vinduet og vælg det filter du netop lavede.

  2. Da du ønsker at filtrere alle breve der har kde@kde.org i Til: eller CC: feltet og som er fra Claus, afkryds Passer med alle følgende radioknappen.

  3. Gå nu til den anden søgeregel og vælg følgende fra træk-ned menuerne: Fra, indeholder. Skriv nu ch@etsted.dk i tekstfeltet.

Du har nu et filter der overfører alle KDE-liste breve der er fra ch@etsted.dk.

Filteroptimering

Det er vigtigt at vide at, for eksempel, rækkefølgen af filtrene påvirker hastigheden af filterprocessen. Her er nogle idéer som kan hjælpe dig til at forbedre filtreringen:

Stop filterbehandling så tidligt som muligt:

Hvis du ved at et filter skal behandle en bestemt klasse af breve, så sørg for at afkrydse Hvis dette filter matcher, så stop behandlingen her for filtret. Dette vil undgå evaluering af filterreglerne for alle de følgende filtre. (Se de avancerede tilvalg i Filterdialog).

Et eksempel er filtrering af breve from e-mail-lister via List-Id-header til separate mapper. Efter at have fundet ud af at et brev kom fra liste A betyder det at du kan undgå at tjekke om det kom fra liste B.

Overvej omkostningen ved evalueringen af filterregler:

Den tid det kræver at evaluere en filterregel afhænger af den måde reglen er konstrueret. I særdeleshed er scanning for en delstreng ved brug af indeholder-operationen hurtigere end en mønstermatchning ved brug af matcher regulært udtryk-operationen.

En anden afhængighed er den mængde af data som bruges til evaleringen af en filterregel. Hvis reglen er baseret på en brev-header, vil dens evaluering normalt være meget hurtigere end evalueringen af en regel baseret på hele brevet.

Du bør forsøge at holde filterreglerne så simple som muligt.

Tjek rækkefølgen af dine filtre:

Alle de forskellige filterhandlinger hare forskellig kompleksitet. De dyreste filterhandlinger er pipe gennem og kør kommando, idet begge har brug for eksterne programmer for at køres. Placering af filtre der indeholder disse filterhandlinger bagved andre filtre der kan reducere antallet af gange disse komplekse handlionger kræves er nyttigt, hvis filterlogikken tillader dette.

Et eksempel er filtrering af breve fra en e-mail-liste og detektion af spam. For detektion af spam vil du sædvanligvis bruge et eksternt værktøj via en pipe gennem-handling. Filteering af brevene for e-mail-listen gøres via en List-Id header. Hvis du ikke ønsker også at tjekke brevene fra e-mail-listen for spam, er det bedre at bruge filtret for e-mail-listens breve før filtret til detektion af spam. På denne måde undgår du den dyre og langsomme detektion af spam for alle breve som blev identificeret som breve fra e-mail-listen.

Filterlog

Hvis du ønsker at verificere at dine filtre virker som det var meningen, kan du åbne en fremviser for filterloggen via Værktøjer->Fremviser af filterlog....

I denne fremviser, kan du indstille logningen af filterbehandlingen. Du kan kontrollere detaljeniveauet for loggen, rydde loggen eller gemme loggen til en fil. Loggen kan sørge for værdifuld information hvis du har brug for at rette fejl i din filtreringsproces.