Sigte

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 9. januar 2014; checks kræver 10 redigeringer .

Sieve  er et sprog til beskrivelse af filtreringsregler for postbeskeder . Oprettet af Cyrusoft International, Inc./ISAMET, mens du arbejdede på Cyrus IMAP -mailserveren .

Historie

Udvidelser

I januar 2008 opdaterede Sieve Working Group [1] kernespecifikationen for sproget, og skabte RFC 5228 til at erstatte den originale RFC 3028 , og tilføjede følgende udvidelser som en " Proposed Standard " : 

I fremtiden tilføjede denne arbejdsgruppe mange udvidelser i samme status som "Forslag til standardisering":

Dokumenter under udvikling ("Kladde"-status):

Udvikling af nye udvidelser fortsætter.

Syntaks for sproget

Kommentarer

Som ethvert sprog har Sieve kommentarer . Der er to typer kommentarer: multi-line og single-line.

Flerlinjekommentarer består af flere linjer, skal begynde med "/*" og slutte med "*/" .

/* dette er multiline kommentar */

Enkeltlinjekommentarer kommenterer kun på en enkelt linje, som er indledt af et "#" .

# dette er # smarte replikker # kommentarer

Strukturelle operatører

[..] Firkantede parenteser bruges til at gruppere elementer. For eksempel definerer ["bruger1@domæne.ru", "bruger2@domæne.ru", "bruger3@domæne.ru"] en postkassegruppe. { .. } Krøllede klammeparenteser bruges til at oprette en gruppe handlinger, der vil blive udført, hvis en betingelse er sand. hvis Sammenligner visse parametre. Hvis de er sande, udføres en bestemt blok af udsagn. elsif Hvis der bruges flere sammenligninger, er det bedst at bruge elsif . Handlingen ligner hvis . andet Hvis ingen af ​​ovenstående betingelser er opfyldt, udføres de udsagn, der er indesluttet i { .. } efter else . hold op Stopper meddelelsesbehandlingen.

Handlinger på bogstaver

holde Gemmer en kopi af beskeden i standardbiblioteket. fil i "mappe" Flytter e-mailen til den angivne mappe. Hvis den ikke eksisterer, gemmes e-mailen i standardbiblioteket, og der foretages ikke yderligere. kassere Sletter et brev. Der sendes ingen meddelelse om sletning. afvis "<årsag>" Returnerer et brev til afsenderen med angivelse af årsagen til leveringsfejlen. omdirigere "<postkasse>" Omdirigerer beskeden til den angivne postkasse. Der oprettes ikke en kopi af meddelelsen. ferie <indstillinger> Svarer automatisk på e-mails.

Sammenligningsoperatorer

størrelse Sammenligner størrelsen af ​​den modtagne e-mail med en specificeret størrelse. Du kan angive størrelsen i byte , kilobyte og megabyte , for dette skal du angive KB eller MB (for henholdsvis kilobyte eller megabyte) efter den påkrævede filstørrelse. header Sammenligner e-mail-headeren med visse parametre. adresse Sammenligner kun adressefeltet. allof(<indstillinger>) Sammenligner flere værdier, der er angivet som parametre. Returnerer sand, hvis alle betingelser er opfyldt. nogen af ​​(<indstillinger>) Sammenligner flere værdier, der er angivet som parametre. Returnerer sand, hvis mindst én betingelse er sand. rigtigt Det er altid sandt. falsk Det er altid falsk. ikke <parameter> Hvis parameteren evalueres til falsk, evalueres hele udtrykket til sand.

Eksempel

kræve["fileinto", "ferie"]; # # slet alle meddelelser markeret som spam af serveren # if header :is "X-Spam-Flag" "YES" { kassere; # tro Spam Assassin } # # Breve relateret til et vigtigt projekt, lagt i en særlig mappe # hvis nogen af ​​( adresse :domæne "fra" "important.ru", adresse "fra" [ "[email protected]", "[email protected]" ], adresse ["til","cc"] "[email protected]" ) { fileinto "Customers.Important"; } # # Som svar på en e-mail fra vores virksomhed, der anmoder om en rapport, svarer vi straks :) # if allof (adresse :domæne "fra" "mycompany.ru", header :indeholder "emne" ["rapport", "rapport") { ferie :dage 1 :adresser "[email protected]" :subject "Som svar på din anmodning" :mime "MIME-version: 1.0 Indholdstype: tekst/html; tegnsæt=KOI8-R Indholdsoverførselskodning: 7bit <!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\"> <HTML><HEAD><META http-equiv=Content-Type content=\"text/html; charset=windows-KOI8-R\"></HEAD> <BODY>Jeg kan desværre ikke sende rapporten endnu. (Dette er et eksempel på et svar på en e-mail med et givet emne.)</BODY></HTML>"; }

Links

  1. Sieve arbejdsgruppe charter Arkiveret 31. december 2005.  (Engelsk)