PIGEONHOLE(7)
โจ PIGEONHOLE(7) โจ
okay bestie, sit DOWN, because this is the pigeonhole(7) page and it's literally the vibe tour of the Pigeonhole Sieve support for Dovecot ๐๏ธ๐
๐ธ NAME ๐ธ
pigeonhole โ a whole overview of the Pigeonhole Sieve support for Dovecot, no cap โจ
๐ฆ DESCRIPTION ๐ฆ
Pigeonhole adds support for the Sieve language (RFC 5228) and the ManageSieve protocol (RFC 5804) to Dovecot (dovecot(1)). periodt ๐
ngl the name is lowkey iconic. In the literal sense, a pigeonhole is a hole or recess inside a dovecot for pigeons to nest in ๐ฆ. But it's ALSO the name for one of a series of small, open compartments in a cabinet used for filing or sorting mail. And as a verb? It describes the act of putting an item into one of those pigeonholes. So the name "Pigeonhole" well describes an important 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 delivered, e.g. whether they are forwarded or stored in special folders. Unwanted 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 independent. And โ plot twist โ unlike most other mail filtering script languages, it does not allow users to execute arbitrary programs ๐ณ. This is particularly useful 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. it's giving safety queen ๐
Using the ManageSieve protocol, users can upload their Sieve scripts remotely, without needing direct filesystem access through FTP or SCP ๐ซถ. Additionally, a ManageSieve server always makes sure that uploaded scripts are valid, preventing compile failures at mail delivery. so thoughtful of it ๐ญ
Pigeonhole provides the following items:
- The LDA Sieve plugin for Dovecot's Local Delivery Agent (LDA) (
dovecot-lda(1)) that facilitates the actual Sieve filtering upon delivery ๐ - 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 newdoveadm-sieve(1)commands for management of Sieve filtering ๐ ๏ธ - The imap-sieve plugin documentation plugin, which provides the ability 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 ManageSieve service is described in detail in the README and INSTALL files contained in the Pigeonhole package and in sieve. iykyk ๐
๐ the command line tools (yes, outside of doveadm) ๐
The following command line tools are available outside of doveadm:
sievec(1)โ Compiles Sieve scripts into a binary representation for later execution โ๏ธ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 ๐
found a bug? not the vibe, but okay, let's handle it bestie ๐ซถ
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โฉ
don't forget the doveconf -n output, fr fr, they literally need it ๐
๐ 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 ๐ธ
and that's the whole page, bestie, you ate that ๐โจ this was PIGEONHOLE(7) from the f00471c version, dated August 2026 โ mwah, go sort some mail ๐
๐๐๏ธ
๐ฆ where this page comes from
- alpine 3.23: dovecot-doc 2.4.5-r0 ยท MIT AND LGPL-2.1-or-later
- alpine 3.24: dovecot-doc 2.4.5-r0 ยท MIT AND LGPL-2.1-or-later
- arch rolling: pigeonhole 2.4.5-1 ยท LGPL-2.1-only
- fedora 43: dovecot-pigeonhole 1:2.4.5-1.fc43 ยท MIT AND LGPL-2.1-only
- fedora 44: dovecot-pigeonhole 1:2.4.5-1.fc44 ยท MIT AND LGPL-2.1-only
- nixos 26.05: dovecot-pigeonhole 2.4.5
- nixpkgs unstable: dovecot-pigeonhole 2.4.5
- opensuse-leap 16.0: dovecot24 2.4.5-160000.1.1 ยท BSD-3-Clause AND LGPL-2.1-or-later AND MIT
- opensuse-leap 16.0: dovecot24 2.4.5-160000.1.1 ยท BSD-3-Clause AND LGPL-2.1-or-later AND MIT
- opensuse-leap 16.0: dovecot24 2.4.5-160000.1.1 ยท BSD-3-Clause AND LGPL-2.1-or-later AND MIT
- opensuse-leap 16.0: dovecot24 2.4.5-160000.1.1 ยท BSD-3-Clause AND LGPL-2.1-or-later AND MIT
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms