Project Overview

Pigeonhole adds support for the Sieve language (RFC 5228) and the ManageSieve protocol (RFC 5804) to the Dovecot Secure IMAP Server.
Literally, a pigeonhole is a recess within a dovecot where pigeons nest. It also refers to a series of small, open compartments in a cabinet used for sorting mail. As a verb, "to pigeonhole" describes the act of placing an item into one of these compartments.
Accordingly, the name "Pigeonhole" aptly describes a core functionality this project adds to Dovecot: the sorting and filing of email messages.
The Sieve language is used to specify how email should be processed. By writing Sieve scripts, users can customize message delivery—for example, determining whether messages are forwarded or stored in specific folders. Unwanted messages can be discarded or rejected, and the Sieve interpreter can send automated replies when a user is unavailable.
Above all, the Sieve language is designed to be simple, extensible, and system-independent. Unlike most mail-filtering languages, it does not allow users to execute arbitrary programs. This is critical for preventing virtual users from gaining full access to the mail store; the language is intentionally restricted to ensure users cannot perform actions more complex (or dangerous) than writing simple mail filters.
The Pigeonhole project provides Sieve support as a plugin for Dovecot's Local Delivery Agent (LDA). Additionally, the ManageSieve protocol is provided as a service alongside Dovecot's POP3 and IMAP services.
Standards & Extensions Support
Pigeonhole maintains compliance with standard Sieve extensions while providing powerful custom hooks.
Sieve Language & RFC Extensions
The core Sieve language is fully supported (including encoded-character, fileinto, and envelope), alongside a wide variety of Sieve capability extensions.
ManageSieve
The ManageSieve protocol (RFC 5804) is fully supported, allowing secure remote script uploads and management.
Dovecot Specific Extensions
Proprietary extensions enabling custom command execution and integration (disabled by default).
