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