Vnd.dovecot.duplicate Extension

Relevant specifications
=======================

	doc/rfc/spec-bosch-sieve-duplicate.txt

Description
===========

Sieve (RFC 5228) is a highly extensible machine language specifically tailored
for internet message filtering. For the Dovecot Secure IMAP server, Sieve
support is provided by the Pigeonhole Sieve plugin. The vnd.dovecot.duplicate
extension augments the Sieve filtering implementation with a test to verify
whether a message was received earlier already based on its Message-ID. This can
be used to prevent duplicate deliveries, e.g. caused by mailinglists when people
reply both to the mailinglist and the user directly.

This extension is specific to the Pigeonhole Sieve implementation for the
Dovecot Secure IMAP server. It will therefore most likely not be supported by
web interfaces or GUI-based Sieve editors.

Refer to doc/rfc/spec-bosch-sieve-duplicate.txt for a specification of the Sieve
language extension.

Implementation Status
---------------------

The "vnd.dovecot.duplicate" Sieve language extension is vendor-specific with
draft status and its implementation for Pigeonhole is experimental, which means
that the language extensions are still subject to change and that the current
implementation is not thoroughly tested.

Configuration
=============

The "vnd.dovecot.duplicate" extension is not enabled by default and thus it
needs to be enabled explicitly.

The following configuration settings are used:

sieve_duplicate_period = 1d
  This option specifies after what period of time Message-IDs are purged from
  the duplicate database. The period is specified in s(econds), unless followed
  by a d(ay), h(our) or m(inute) specifier character.

Example
=======

plugin {
  sieve = ~/.dovecot.sieve

  sieve_extensions = +vnd.dovecot.duplicate

  sieve_duplicate_period = 6h
}
