PIGEONHOLE(7) Pigeonhole PIGEONHOLE(7)
NAME
pigeonhole - Overview of the Pigeonhole project's Sieve support for the
Dovecot secure IMAP and POP3 server
DESCRIPTION
The Pigeonhole project <http://pigeonhole.dovecot.org> adds support for
the Sieve language (RFC 5228) and the ManageSieve protocol (RFC 5804)
to the Dovecot Secure IMAP and POP3 Server (dovecot(1)). In the literal
sense, a pigeonhole is a a hole or recess inside a dovecot 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 sorting mail.
As a verb, it describes the act of putting an item into one of those
pigeonholes. The name "Pigeonhole" therefore well describes an impor-
tant part of the functionality that this project adds to Dovecot: sort-
ing 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.
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, unlike most other mail filtering script languages, it
does not allow users to execute arbitrary programs. This is particu-
larly 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.
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.
The Pigeonhole project provides the following items:
o The LDA Sieve plugin for Dovecot's Local Delivery Agent (LDA)
(dovecot-lda(1)) that facilitates the actual Sieve filtering upon
delivery.
o The ManageSieve service that implements the ManageSieve protocol
through which users can remotely manage Sieve scripts on the
server.
o A plugin for Dovecot's doveadm(1) command line tool that adds new
the new doveadm-sieve(1) commands for management of Sieve filter-
ing.
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 the Dovecot Wiki
<http://wiki2.dovecot.org/Pigeonhole>.
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
Report bugs, including doveconf -n output, to the Dovecot Mailing List
<dovecot AT dovecot.org>. Information about reporting bugs is available
at: http://dovecot.org/bugreport.html
AUTHOR
Pigeonhole <http://pigeonhole.dovecot.org> and its manual pages were
written by the Pigeonhole authors <http://pigeonhole.dove-
cot.org/doc/AUTHORS>, mainly Stephan Bosch <stephan at rename-it.nl>,
and are licensed under the terms of the LGPLv2.1 license, which is the
same license as Dovecot, see <http://dovecot.org/doc/COPYING> for
details.
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:
Dovecot website
http://www.dovecot.org
Dovecot v2.x Wiki
http://wiki2.dovecot.org/Pigeonhole
Pigeonhole website
http://pigeonhole.dovecot.org
Pigeonhole for Dovecot v2.4 2015-02-21 PIGEONHOLE(7)