Pigeonhole Sieve: Duplicate Extension¶
The duplicate extension RFC 7352 adds a new test command
called duplicate
to the Sieve language. This test adds the ability
to detect duplications. The main application for this new test is
handling duplicate deliveries commonly caused by mailing list
subscriptions or redirected mail addresses. The detection is normally
performed by matching the message ID to an internal list of message IDs
from previously delivered messages. For more complex applications, the
duplicate
test can also use the content of a specific header field
or other parts of the message.
Previously, this extension was Dovecot-specific and available under the
name vnd.dovecot.duplicate
. Specification for old version available
here.
That implementation differs significantly from what is now published as
RFC 7352, but the original
extension is still supported for backwards compatibility.
Configuration¶
The duplicate extension is available by default. The duplicate extension has its own specific settings. The following settings are available (default values are indicated):
sieve_duplicate_default_period
= 14d
sieve_duplicate_max_period
= 7dThese options respectively specify the default and the maximum value for the period after which tracked values are purged from the duplicate tracking 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_duplicate_default_period = 1h
sieve_duplicate_max_period = 1d
}