On Sun, 2007-05-13 at 18:16 +0300, Timo Sirainen wrote:
> I don't think there are any useful exit codes in sysexits.h. Hmm.
> Deliver fallbacks always trying to write mail to INBOX if it couldn't
> write it elsewhere. So INBOX writes can fail only with:
> 
> 1. permission problems
> 2. out of quota
> 
> In INBOX cause 1. is probably a configuration problem. In this case it
> should be treated as temporary problem.
> 
> 2. should probably be configurable, as some people want it to be a
> temporary failure and others want it to be a permanent failure.
> 
> I guess I'll have to go and fix Dovecot's error handling a bit.

Dovecot can now internally report these failures:

        /* Temporary internal error */
        MAIL_ERROR_TEMP,
        /* It's not possible to do the wanted operation */
        MAIL_ERROR_NOTPOSSIBLE,
        /* Invalid parameters (eg. mailbox name not valid) */
        MAIL_ERROR_PARAMS,
        /* No permission to do the request */
        MAIL_ERROR_PERM,
        /* Out of disk space or quota */
        MAIL_ERROR_NOSPACE,
        /* Item (eg. mailbox) doesn't exist or it's not visible to us */
        MAIL_ERROR_NOTFOUND,
        /* Tried to access an expunged message */
        MAIL_ERROR_EXPUNGED

I also added quota_full_tempfail setting to control if it should return
EX_TEMPFAIL or bounce the mail. All other errors are treated as
EX_TEMPFAIL.

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to