Onbewerkte Sieve-editor voor geavanceerde filters
Beheer geavanceerde filtering, doorsturen, markeringen en automatische antwoorden rechtstreeks met Sieve-code.
Artikeldetails
Type, moeilijkheid, abonnementen en wanneer het laatst is bijgewerkt.
▼
Artikeldetails
Type, moeilijkheid, abonnementen en wanneer het laatst is bijgewerkt.
- Type
- Naslagwerk
- Moeilijkheid
- Gevorderd
- Abonnementen
- Agency
- Laatst bijgewerkt
- 9 sep. 2026
De meeste mensen hebben deze pagina nooit nodig. De visuele filterbouwer van TrekMail verwerkt vrijwel alle filterwensen en is eenvoudiger. Voor ontwikkelaars, IT-beheerders met tientallen mailboxen en ervaren gebruikers die tegen de grenzen ervan aanlopen, biedt de onbewerkte Sieve-editor volledige controle over inkomende mail.
Een actief Agency-abonnement is vereist om een onbewerkt script te activeren. Met andere abonnementen kun je een concept opslaan, maar het wordt niet uitgevoerd.
Wat is Sieve?
Sieve is een compacte scripttaal voor e-mailfilters. De instructies worden bij elke nieuwe mail uitgevoerd. Een regel controleert afzender, onderwerp, grootte of headers en kan daarna verplaatsen, doorsturen, markeren, weigeren of automatisch antwoorden.
Anders dan regels in Outlook of Apple Mail draait Sieve 24 uur per dag op de server, ook als je computer of mailprogramma uitstaat. Elk apparaat ziet daardoor hetzelfde resultaat.
Je hoeft Sieve niet te leren om TrekMail te gebruiken. De visuele bouwer schrijft de code op de achtergrond. Met de onbewerkte editor schrijf je zelf logica die de bouwer niet ondersteunt.
Wanneer onbewerkte Sieve of visuele filters gebruiken
Gebruik de visuele bouwer wanneer:
- Je eenvoudige voorwaarden nodig hebt, zoals "van bevat X" of "onderwerp bevat Y".
- Je berichten wilt verplaatsen, doorsturen, markeren, weigeren of verwijderen.
- Je liever geen code schrijft.
- Je snel wilt wijzigen zonder op syntaxis te letten.
Gebruik de onbewerkte editor wanneer:
- Je complexe logica nodig hebt, zoals "dit EN dat, maar NIET het andere".
- Je reguliere expressies gebruikt voor patronen, bijvoorbeeld ordernummers.
- Je vakantieantwoord, filtering en doorsturen in één script combineert.
- De benodigde logica niet in visuele voorwaarden en acties past.
- Je sjablonen over veel mailboxen verspreidt.
Waar je de editor vindt
- Open het TrekMail-dashboard en ga naar Mailboxen.
- Kies Beheren bij de gewenste mailbox.
- Open het tabblad Sieve.
- Op een geschikt Agency-account bevat de code-editor eerst het script van je beheerde filters. Bewerk dit of begin opnieuw.
- Klik op Opslaan en activeren om het script toe te passen.
De editor toont je huidige script of een leeg veld. Schrijf of plak de code en klik op Opslaan en activeren.
Ondersteunde extensies
Sieve is modulair. TrekMail ondersteunt:
| Extensie | Functie |
|---|---|
fileinto |
Verplaatst mail naar een map. Zonder deze extensie kan Sieve alleen bewaren in de inbox of verwijderen. |
reject |
Stuurt mail terug met een aangepaste foutmelding, zodat de afzender weet dat bezorging is mislukt. |
vacation |
Stuurt een afwezigheidsantwoord met ingebouwde beperking per afzender. |
copy |
Stuurt door en bewaart een kopie. Zonder deze optie verdwijnt het bericht uit je mailbox. |
body |
Vergelijkt de berichtinhoud en niet alleen headers, nuttig voor trefwoorden in de tekst. |
imap4flags |
Stelt zichtbare vlaggen in, zoals gelezen, gemarkeerd of belangrijk. |
variables |
Bewaart delen van een overeenkomst voor later gebruik en vermindert herhaling. |
relational |
Voegt numerieke vergelijkingen toe voor onder meer grootte en numerieke headers. |
regex |
Maakt krachtige patroonvergelijking met reguliere expressies mogelijk. |
Declareer extensies bovenaan met require. De server valideert vóór activering en weigert niet-ondersteunde of beveiligingsgevoelige extensies.
Voorbeeldscripts
Vier complete scripts die je kunt aanpassen.
Voorbeeld 1: complexe voorwaardelijke doorsturing
Stuur mail van een klant met "proposal" in het onderwerp en kleiner dan 5 MB door, archiveer die en voeg een vlag toe.
require ["fileinto", "copy", "imap4flags", "relational", "comparator-i;ascii-numeric"];
# Forward proposal emails from client, but only if they are under 5MB
if allof (
address :contains "from" "@bigclient.com",
header :contains "subject" "proposal",
size :under 5M
) {
# Send a copy to the project manager
redirect :copy "pm@youragency.com";
# Flag it for follow-up
addflag "\\Flagged";
# File it in the client folder
fileinto "Clients/BigClient/Proposals";
# Stop processing further rules
stop;
}
# Everything else from this client goes to their general folder
if address :contains "from" "@bigclient.com" {
fileinto "Clients/BigClient";
stop;
}
Resultaat: de eerste regel verwerkt alleen voorstellen onder 5 MB en stuurt, markeert en archiveert ze. De tweede archiveert alle overige mail van die klant in de algemene map.
Voorbeeld 2: regex voor ordernummers
Vind nummers zoals ORD-12345 of ORD-98765 en archiveer de berichten automatisch.
require ["fileinto", "regex"];
# Match order confirmation emails with order numbers like ORD-#####
if header :regex "subject" "ORD-[0-9]{4,6}" {
fileinto "Orders";
stop;
}
# Match support ticket numbers like TICKET-####
if header :regex "subject" "TICKET-[0-9]{3,}" {
fileinto "Support Tickets";
stop;
}
Resultaat: [0-9]{4,6} betekent "4 tot 6 cijfers" en vindt ORD-1234, ORD-12345 en ORD-123456 zonder elke waarde op te sommen.
Voorbeeld 3: vakantie, archiveren en doorsturen
Eén script beantwoordt mail bij afwezigheid, stuurt spoed door en archiveert de rest per categorie.
require ["fileinto", "vacation", "copy", "imap4flags"];
# Auto-reply to everyone (once per 3 days per sender)
vacation :days 3 :subject "Out of office until April 15"
"Thanks for your email. I am out of the office until April 15
with limited access to email. For urgent matters, please contact
Sarah at sarah@youragency.com. I will reply when I return.";
# Forward urgent emails to Sarah immediately
if header :contains "subject" "urgent" {
redirect :copy "sarah@youragency.com";
addflag "\\Flagged";
}
# File invoices
if header :contains "subject" "invoice" {
fileinto "Invoices";
stop;
}
# File newsletters
if address :contains "from" "newsletter" {
fileinto "Newsletters";
stop;
}
Resultaat: vacation antwoordt maximaal eenmaal per 3 dagen per afzender. Omdat er geen stop staat, gaan de sorteeregels daarna door en werkt het antwoord samen met andere filters.
Voorbeeld 4: markeren via aangepaste header
Sommige systemen gebruiken X-Priority. Dit script leest die header en markeert belangrijke berichten.
require ["imap4flags", "fileinto", "relational", "comparator-i;ascii-numeric"];
# X-Priority: 1 = highest, 5 = lowest
# Flag messages marked as high priority by the sending server
if header :value "le" :comparator "i;ascii-numeric"
"X-Priority" "2" {
addflag "\\Flagged";
}
# File low-priority messages (4 or 5) into a "Low Priority" folder
if header :value "ge" :comparator "i;ascii-numeric"
"X-Priority" "4" {
fileinto "Low Priority";
stop;
}
Resultaat: bij X-Priority is 1 het hoogst en 5 het laagst. :value "le" betekent "kleiner dan of gelijk aan" en markeert 1 en 2. Berichten met 4 en 5 verlaten de inbox.
Belangrijke opmerkingen
Onbewerkte scripts vervangen visuele filters. Na opslaan vervangen ze de visuele filters voor die mailbox. Die blijven bewaard, maar zijn niet actief. Klik bovenaan Sieve op Standaardinstellingen herstellen om terug te gaan.
De server valideert vóór activering. Bij Opslaan en activeren controleert hij de syntaxis. Bij een fout wordt niets geactiveerd en blijft het vorige script of de visuele filters werken.
require is verplicht. Elke gebruikte extensie moet in require staan. Vergeet je fileinto of vacation, dan weigert de server het script. Neem bij twijfel alles op wat je nodig hebt.
Spam wordt vóór het script gefilterd. TrekMail controleert spam op serverniveau voordat Sieve draait. Het script ziet alleen goedgekeurde mail en heeft geen spamregels nodig.
Terug naar visuele filters
- Open Sieve voor de mailbox.
- Klik rechtsboven op Standaardinstellingen herstellen.
- Bevestig de actie.
Je eigen script wordt verwijderd en het automatisch gegenereerde script van de bewaarde visuele filters hersteld.
Een wijziging opslaan in Filters keert ook terug naar het beheerde script. Automatisch antwoord overschrijft geen onbewerkt script; schakel eerst terug naar beheerde modus.
Veelgemaakte fouten en oplossingen
require vergeten. Voeg bij "unknown command fileinto" bovenaan require ["fileinto"]; toe.
Puntkomma ontbreekt. Elk Sieve-commando eindigt ermee. Controleer vooral stop, discard en fileinto bij onverwachte tokens.
Tekenreeksen niet geciteerd. Mapnamen, adressen en waarden staan tussen dubbele aanhalingstekens. fileinto Newsletters; faalt, fileinto "Newsletters"; is juist.
Backslash in vlaggen. IMAP-vlaggen \Flagged en \Seen vereisen twee backslashes: "\\Flagged" en "\\Seen". Eén backslash is een escape-teken en geeft fouten.
Map bestaat niet. Maak de map eerst in je mailprogramma. Een onbewerkt script maakt ontbrekende mappen alleen als script en server dit ondersteunen.
Script te groot. Er is een praktische limiet. Overweeg bij enkele honderden regels een deel via de visuele bouwer te beheren. Niet alles hoeft in één script.
Gerelateerde artikelen
Spring naar nabije gidsen die de workflow voortzetten.