Viktor Dukhovni:
> On Fri, Dec 09, 2011 at 07:47:08AM -0500, Wietse Venema wrote:
>
> > [email protected]:
> > > I don't know the Postfix internals but if it where easy *and* safe to
> > > implement it would have been done already from someone feeling the
> > > need to do so.
> >
> > A quick search shows that trivial-rewrite server has no "fatal"
> > errors - it reports all errors that it can detect to the client (in
> > this case smtpd(8)).
>
> However in the case of the queue manager, there is no reasonable
> way to handle errors in recipient resolution other than moving the
> entire message to the defer queue.
That is in fact what happens:
1000 if (reply->flags & RESOLVE_FLAG_FAIL) {
1001 QMGR_REDIRECT(reply, MAIL_SERVICE_RETRY,
1002 "4.3.0 address resolver failure");
1003 return (0);
There is similar code for RESOLVE_FLAG_ERROR, where mail is bounced
instead of deferred.
> I am not sure that this is better than looping and retrying, since
> the problem is almost certain to manifest itself for all transport
> lookups and a blocked queue-manager may be just as good as a queue
> manager that needlessly shunts mail back and forth between the
> deferred and active queues.
The problem may be specific to some transport lookups.
> A better design for most sites is to avoid unreliable sources for
> transport decisions.
Absolutely, hence my comments that optimization efforts are better
directed at fixing those problems than polishing a turd.
Wietse