Sieve Reject support in Archiveopteryx

The Reject extension signals that a sieve script can reject incoming mail. Archiveopteryx supports it fully.

Archiveopteryx tries to implement the rejection as an SMTP-level error, like ereject. If you are using LMTP for mail delivery (this is the default), that's always possible. If you are using SMTP, it may or may not be. If an SMTP-level error is not possible, Archiveopteryx sends a DSN to the sender.

if envelope :is :all "from" "" { reject "You're a spammer, Bob, and I don't want spam"; }

Archiveopteryx's behaviour is based on RFC 3028 and on subsequent discussion. There is likely to be a new RFC about reject, the text is available already and no substantial changes can be made before RFC publication.

Due to a bug, Archiveopteryx 2.10 and earlier did not accept a reason argument. 2.11 and later are correct.

The specification requires sending an MDN (message rejected by recipient), while Archiveopteryx sends a DSN (message rejected by mail system), due to internal constraints. (Archiveopteryx has forgotten whether the rejection is DSN-like or MDN-like by the time it's about to send the message.) We'll fix this at some point.

In case of questions, please write to

Relevant links

About this page

Last modified: 2010-11-19