Sieve is a powerful scripting language for server-side mail filtering. It is intended to be used with IMAP which is ubiquitous. Many IMAP servers are capable of running Sieve filters. Sieve stores and runs all scripts on the server-side.
This project provides a web-only ManageSieve client with a graphical editor for Sieve: An Email Filtering Language (RFC 5228), implementing A Protocol for Remotely Managing Sieve Scripts (RFC 5804).
docker compose up --buildOpen https://localhost:8443/ (accept the self-signed certificate on first run).
Point the container at your ManageSieve server:
DOVECOT_HOST=imap.example.com DOVECOT_PORT=4190 docker compose up --buildPre-built images are published to ghcr.io/thsmi/sieve.
docker compose --profile dev up --build- Apache 2 — TLS termination, static UI, security headers, WebSocket reverse proxy
- Python 3 (stdlib) — ManageSieve WebSocket proxy on
127.0.0.1:8765 - JavaScript — browser UI (built with Node/Gulp at image build time)
See BUILD.md and src/web/README.md for development and configuration details.
The project is actively developed as a standalone web application.
Status and future development plans are described in the Roadmap. The Capabilities page lists supported Sieve and ManageSieve features.
A big thank you to everyone who has contributed and supported the project.
Answers for frequently asked questions can be found in the Wiki section. Please read those pages before raising a bug report.
For more details on contributing refer to the Contributing Guidelines.
Bug reports: use the issue tracker or email schmid-thomas at gmx.net.
The code is licensed under the GNU Affero General Public License (AGPLv3).
Refer to LICENSING_INFO.md for third-party license details.
GitHub Releases and Docker tags (ghcr.io/thsmi/sieve:v*) are published on version tags.
The graphical editor demo (no backend connection) is at https://thsmi.github.io/sieve-demo/.