Russell Nelson wrote:

> [EMAIL PROTECTED] writes:
>  > Now you can just requeue the mail and try again later.  If you do, then
>  > you are presuming that perhaps it will be fixed later on, but before the
>  > expiration of the mail.
> 
> It's reasonable to retry a host if you can make a connection to it,
> but cannot talk SMTP to it.

To the perpetual exclusion of all else?


>  > Doesn't this really come down to a difference between the WAY a mail server
>  > is broken?
> 
> No, it comes down to the weight you put on the importance of sending
> mail to the primary vs the secondary MX.  If you think it's important
> to talk to the primary, then you'll retry successful connections to the
> primary.

How do you make a determination if it's important or not?


> Since you seem to think that any temporary failure means that the
> secondary MX should be retried, what about a 4XX failure?  Should that
> cause the secondary MX to be used?

For 450, perhaps.  For 421, 451, 452, eventually the 2nd MX should be tried,
IMHO.  I would think 450 would mean the server thinks it is the local
machine for that domain, and hence _probably_ has to be used by the
secondary to delivery the mail anyway (there may be more than one "local"
server when the mailboxes are shared over NFS ... something that maildir
would make more reliable).  And "local" delivery could mean injection into
some other kind of server (I've done 2 SMTP servers running Lotus Notes
injection before they implemented SMTP in Notes itself).  The others give
no real clue as to the (un)viability of the 2nd MX.

If the protocol is not carried out to even get an error code, though, then
you really know very little about the server from that attempt.  You don't
know if the mailboxes are local.  You don't know if the 2nd can or cannot
deliver without the 1st.

I'm not saying that the 2nd MX needs to be tried immediately, but if the
problem persists, it should be eventually tried.  Perhaps a study of how
frequently certain kinds of errors do occur, over what proportion of sites
(classified by server software type, too), and how long until those kinds of
errors are corrected, could lead to an optimal estimate of how many failures
to the primary should justify trying the secondaries.

My first thought would be to attempt delivery in some kind of proportion
that is inverse to the MX level, perhaps proportional to 1/(2^(mx/N)) where
N is a configurable value I would start at 50.

-- 
Phil Howard | [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED]
  phil      | [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED]
      at    | [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED]
  ipal      | [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED]
     dot    | [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED]
  net       | [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED]

Reply via email to