Sieve
Sieve is a language created and used for mail filtering. They work basically by comparing different keys using different comparators and comparison methods, against headers of a mail message. Based on the result of the comparison, you can apply different actions to the corresponding mail message, i.e. reject, discard, redirect, etc.
Each server having Sieve script support has a set of Sieve extensions activated. This means that depending on the extensions used by a Sieve script, a server may or may not be able to install and execue a given script.
In order to install Sieve scripts on a server, two solutions may be available:
- using a given, server specific interface (if provided)
- using MANAGESIEVE protocol thanks to a software
- CLI: sieve-connect (perl script) from sieve-connect package
- GUI: KSieve (sieveeditor executable), from package pim-sieve-editor
- Python: python3-sievelib (see https://github.com/tonioo/sievelib)
RFC
- RFC5293 Sieve Email Filtering: Editheader Extension
- RFC 5804 A Protocol for Remotely Managing Sieve Scripts
Email hosting
Gandi
✅ Sieve Support
❌ NO "editheader" extension support
Infomaniak
✅ Sieve support
✅ "editheader" extension support
https://app.fastmail.com/sievetester/
Fastmail
✅ Sieve support
✅ "editheader" extension support
Proton
✅ Sieve support
❌ NO "editheader" extension support
AlwaysData
✅ Sieve support
✅ "editheader" extension support
OVH
❌ NO sieve support :-(
❌ NO editheader extension support, of course