On Thu, 2007-06-14 at 10:57 +0200, Steffen Kaiser wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Tue, 12 Jun 2007, Timo Sirainen wrote:
Hello,
- deliver: Added -e parameter to write rejection error to stderr and exit with EX_NOPERM instead of sending the rejection by executing sendmail.
I'm still curious, what permanent problems a MDA may encounter?
http://dovecot.org/list/dovecot/2007-May/022503.html
When the MTA is sure, the recipient is local, there must be some sort of configuration error and, hence, the problem is temporarily and should be fixed rather soon than have the mail bounced.
Does somebody disable an (valid) user at MDA-stage?
If that happens deliver exits with EX_NOUSER. There is always at least a race condition between MTA checking the user and MDA checking it.
I suggest to tempfail Deliver for all problems.
This is done for v1.1:
if (error != MAIL_ERROR_NOSPACE ||
getenv("QUOTA_FULL_TEMPFAIL") != NULL) {
/* Saving to INBOX should always work unless
we're over quota. If it didn't, it's probably a
configuration problem. */
return EX_TEMPFAIL;
}
For v1.0.x it would be possible to just check the returned string for various versions of out of quota/disk space, but that's pretty ugly..