2 messages in net.sourceforge.lists.courier-users[courier-users] courier fails to deli...
FromSent OnAttachments
Aidas KasparasOct 9, 2006 6:37 am 
Sam VarshavchikOct 9, 2006 3:17 pm 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:[courier-users] courier fails to deliver message if at least one of MXes fails to resolveActions...
From:Aidas Kasparas (a.ka@gmc.lt)
Date:Oct 9, 2006 6:37:23 am
List:net.sourceforge.lists.courier-users

Hi,

Today I had a problem to send messages to alltech.com domain. I have lots of lines in the logs like this:

Oct 9 10:20:32 pegasas courieresmtp: id=0004A03C.4529F819.000003A0,from=<xxx@gmc.lt>,addr=<yyy@alltech.com>: DNS lookup failed.

Oct 9 10:20:32 pegasas courieresmtp: id=0004A03C.4529F819.000003A0,from=<xxx@gmc.lt>,addr=<yyy@alltech.com>,status: deferred

This domain has 11 MX records and the record with max priority (least favored) fails to resolve. "testmxlookup alltech.com" produced Soft error.

I have traced problem to the rfc1035/rfc1035mxlist.c:domxlistcreate() function which in part reads:

if (seen_good & (opts & RFC1035_MX_IGNORESOFTERR)) seen_softerr=0; /* At least some A records were probably fetched */

This statement allways fails because seen_good is either 0 or 1, and RFC1035_MX_IGNORESOFTERR is 2. It has to be changed to

if (seen_good && (opts & RFC1035_MX_IGNORESOFTERR)) seen_softerr=0; /* At least some A records were probably fetched */

With this change testmxlookup alltech.com produces a list of IPs of MXes it can resolve.