13 May
2007
13 May
'07
8:34 p.m.
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:
- permission problems
- out of quota
In INBOX cause 1. is probably a configuration problem. In this case it should be treated as temporary problem.
- 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.