RFC 3028 – Sieve: A Mail Filtering Language
Überholt: ersetzt durch RFC 5228, RFC 5429.
| Status | Proposed Standard |
|---|---|
| Veröffentlicht | Januar 2001 |
| Volltext | rfc-editor.org/rfc/rfc3028 |
RFC 3028 definiert Sieve, eine deklarative, nicht-Turing-vollständige Sprache zur serverseitigen Filterung von E-Mail-Nachrichten während der endgültigen Zustellung. Sie ist so konzipiert, dass sie sicher auf Mailservern ausgeführt werden kann, ohne dass Benutzer Zugriff auf das zugrunde liegende System benötigen. Die Sprache verzichtet daher bewusst auf Variablen, Schleifen oder die Möglichkeit, externe Programme auszuführen, was sie für den Einsatz in abgeschotteten Umgebungen wie reinen IMAP-Servern geeignet macht. Sieve-Skripte bestehen aus einer Sequenz von Tests und Aktionen, die auf Nachrichtenkopfinformationen wie Absender, Betreff oder Empfänger angewendet werden.
Der Kern des Filtermechanismus basiert auf einfachen Kontrollstrukturen wie if, else und verschachtelten Bedingungen mit allof und anyof. Ein Sieve-Skript wertet jede eingehende Nachricht aus: Wenn ein Test zutrifft, werden die zugehörigen Aktionen ausgeführt. Zu den grundlegenden Aktionen gehören fileinto (Verschieben in ein bestimmtes Postfach), redirect (Weiterleiten), discard (Verwerfen) und keep (Behalten im primären Postfach). Standardmäßig wird eine Nachricht immer im Hauptpostfach belassen (implizites Keep), es sei denn, eine Aktion wie discard oder fileinto überschreibt dies explizit. Die Sprache ist durch ein System von Erweiterungen (Capabilities) erweiterbar, die über das require-Statement angefordert werden.
Historisch und aktuell spielt RFC 3028 eine zentrale Rolle als standardisierte Basis für serverseitige E-Mail-Filterung. Es verdrängte proprietäre Systeme und ermöglichte eine einheitliche, portable Filterlogik, die unabhängig vom Mailserver und Zugriffsprotokoll funktioniert. Durch seine Einfachheit und Sicherheit wurde Sieve zur Grundlage für viele moderne Mailserver und bietet eine verlässliche Grundlage für benutzerdefinierte Nachrichtenverwaltung, ohne die Systemsicherheit zu gefährden.