On Wed, Aug 30, 2006 at 03:49:40PM -0400, Hector Santos wrote:
In our system, we only go to the next record when there is a connection
failure. Otherwise we follow the wishes of 45x or 550. 45x to try again
LATER, not within the same transaction attempt where you have a list of MX
Which definately sounds reasonable, but would cause unnecessary delays
when the MX itself has a problem.
Consider "450 I am having a problem reaching the DMZ"
Of course that would not be the real error message, I am providing an
example where the next MX may have no such problem and thus where it
is better to do it different than you are doing now.
In short, there are no real rules on how a system molds it retries. But
there are some common strategies. See RFC 1123. It talks about strategies
that I think are pretty common.
Agreed, but they are still open to differences in interpretation.
two MX hosts:
I could argue that one single delivery attempt involves trying both hosts.
You are assuming one failed connection to mail1.example.com means one
failed delivery attempt. I see no such evidence.
RFC1123 again repeats the statement about trying all MXes, in order, until
a delivery attempt succeeds.
It does not say "until a connection to the SMTP daemon succeeds".
two MX hosts:
Suppose mail1.example.com returns "450 failed for whatever reason". If
you now decide to wait 5 minutes (or 1, or 10) you still MUST(!) try mail2
the next time. This is the only way I can interpret RFC1123 section 5.3.4
(reliable mail transmission).