PIGEONHOLE(7) Dovecot PIGEONHOLE(7)
NAME
pigeonhole - Overview of the Pigeonhole Sieve support for Dovecot
DESCRIPTION
Pigeonhole adds support for the Sieve language (RFC 5228) and the Mana-
geSieve protocol (RFC 5804) to Dovecot (dovecot(1)).
In the literal sense, a pigeonhole is a a hole or recess inside a dove-
cot for pigeons to nest in. It is, however, also the name for one of a
series of small, open compartments in a cabinet used for filing or sort-
ing mail. As a verb, it describes the act of putting an item into one of
those pigeonholes. The name "Pigeonhole" therefore well describes an im-
portant part of the functionality that it adds to Dovecot: sorting and
filing e-mail messages.
The Sieve language is used to specify how e-mail needs to be processed.
By writing Sieve scripts, users can customize how messages are deliv-
ered, e.g. whether they are forwarded or stored in special folders. Un-
wanted messages can be discarded or rejected, and, when the user is not
available, the Sieve interpreter can send an automated reply. Above all,
the Sieve language is meant to be simple, extensible and system indepen-
dent. And, unlike most other mail filtering script languages, it does
not allow users to execute arbitrary programs. This is particularly use-
ful to prevent virtual users from having full access to the mail store.
The intention of the language is to make it impossible for users to do
anything more complex (and dangerous) than write simple mail filters.
Using the ManageSieve protocol, users can upload their Sieve scripts re-
motely, without needing direct filesystem access through FTP or SCP. Ad-
ditionally, a ManageSieve server always makes sure that uploaded scripts
are valid, preventing compile failures at mail delivery.
Pigeonhole provides the following items:
• The LDA Sieve plugin for Dovecot's Local Delivery Agent (LDA) (dove-
cot-lda(1)) that facilitates the actual Sieve filtering upon deliv-
ery.
• The ManageSieve service that implements the ManageSieve protocol
through which users can remotely manage Sieve scripts on the server.
• A plugin for Dovecot's doveadm(1) command line tool that adds new
doveadm-sieve(1) commands for management of Sieve filtering.
• The imap-sieve plugin documentation plugin, which provides the abil-
ity to attach Sieve scripts that are run for IMAP events in their
mailboxes.
• The imap-filter-sieve plugin documentation that allows refiltering
mails in a mailbox using Sieve scripts.
The functionality and configuration of the LDA Sieve plugin and the Man-
ageSieve service is described in detail in the README and INSTALL files
contained in the Pigeonhole package and in sieve.
The following command line tools are available outside of doveadm:
sievec(1)
Compiles Sieve scripts into a binary representation for later execu-
tion.
sieve-test(1)
The universal Sieve test tool for testing the effect of a Sieve
script on a particular message.
sieve-filter(1)
Filters all messages in a particular source mailbox through a Sieve
script.
sieve-dump(1)
Dumps the content of a Sieve binary file for (development) debugging
purposes.
REPORTING BUGS
Report bugs, including doveconf -n output, to the Dovecot Mailing List
⟨dovecot@dovecot.org⟩. Information about reporting bugs is available at:
https://dovecot.org/bugreport.html
SEE ALSO
dovecot(1), dovecot-lda(1), doveadm(1), doveadm-sieve(1), sieve-dump(1),
sieve-test(1), sieve-filter(1), sievec(1)
Additional resources:
• sieve
78ffb79 March 2025 PIGEONHOLE(7)
Generated by dwww version 1.16 on Tue Dec 16 07:40:36 CET 2025.