Dear Tyler,
Thank you for contacting the Maintenance
Fee Branch. You should receive a response within 2-3 business days. The
tracking number for your inquiry is X200611277096.
Maintenance Fee Branch (571)
272-6500
-----Original Message-----
From: Tyler [mailto:dl@blackpacket.net]
Sent: Monday, November 27, 2006 6:20 PM
To: Uncle George
Cc: qmail@list.cr.yp.to
Subject: Re: Advanced tricks I use to get rid of spam using MX 4xx
Uncle George wrote:
>
>> To provide reliable mail transmission, the SMTP client MUST be able
>> to try (and retry) each of the relevant addresses in this list in
>> order, until a delivery attempt succeeds.
>
> I think you are missing the *MUST* in the first sentence. There is no
> try of any other MX if a connection is made, but delivery fails for any
> reason.
>
>> If you look carefully, at the top of the RFC, "SHOULD" is defined:
>
>
> The SHOULD addresses a configurable limit of MX tries.
IMHO, QMail does try and retry each of the relevant addresses in the MX
list, in order, until a delivery attempt succeeds. The issue is that
different people interpret this in different ways:
Some people think this should mean:
-> TRY1: "MX5 is dead, MX10 is greylisting, MX15 is greylisting, MX20 is
greylisting"
-> TRY2: "MX5 is dead, MX10 accepts message"
While QMail thinks this should mean:
-> TRY1: "MX5 is dead, MX10 is greylisting"
-> TRY2: "MX10 accepts message"
Is there a reason to go onto MX15 or MX20? MX10 says that it'll accept
the mail, but that it's temporarily unable to do so. Trying the other
MXes just generates additional unnecessary traffic. The only problem
occurs when the receiving MTA lies about it's ability to accept the
message, or a temporary failure that takes more than your maximum queue
time to resolve.
"MAY" addresses the configurable MX retry limit; "SHOULD" recommends
that QMail try more than one MX, even though it's not required to:
In any case, the SMTP client SHOULD try at least two addresses.
So, as I said before, as long as QMail is _capable_ of trying more than
one MX, it doesn't have to, and is still RFC compliant. (Not that I put
a whole lot of stock in everything being RFC compliant.)
Tyler
|