Viktor Dukhovni:
> On Fri, Dec 09, 2011 at 07:47:08AM -0500, Wietse Venema wrote:
> 
> > lst_ho...@kwsoft.de:
> > > 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

Reply via email to