The "[cyr]deliver" manpage explains that if delivery is attempted to a mailbox, "user.userid.mailbox", and "... the ACL on any such mailbox does not grant the sender the "p" right ... then delivers to the INBOX for the userid, regardless of the ACL on the INBOX."
If delivery is attempted to any other mailbox, and "... the ACL on mailbox does not grant the sender the "p" right, the delivery fails."
In my experience, if delivery is attempted to a mailbox, "user.userid.mailbox", and the mailbox doesn't exist, delivery is also instead made to the INBOX for the userid.
Instead of delivery failing or being made to the INBOX, I need nonexistent mailboxes to be created. A patch for Sieve exists to do this - http://email.uoa.gr/projects/cyrus/autosievefolder/ - but I'm not using Sieve.
I think a configuration option concerning what to do with messages which couldn't be delivered would be great; reject them, deliver to an INBOX, or create the missing mailbox.
I've been through the Cyrus code endeavoring to implement this, but I'm not an experienced developer. Is the code to by default deliver messages to an INBOX in "[cyr]deliver" or "lmtpd"?
All of the delivery code is in lmtpd. deliver is just an LMTP client which talks to lmtpd.
-- Kenneth Murchison Oceana Matrix Ltd. Software Engineer 21 Princeton Place 716-662-8973 x26 Orchard Park, NY 14127 --PGP Public Key-- http://www.oceana.com/~ken/ksm.pgp
--- Cyrus Home Page: http://asg.web.cmu.edu/cyrus Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html