Subject: Redundant Mail Relays with Pine, Eudora and Outlook

From: <[email-masked]>
Date: Wed, 7 Feb 2001 12:33:44 -0800 (PST)

We have two WAN links, and are attempting to achieve some redundancy for
our outgoing SMTP mail. We have two relay servers (call them):

     mail1.ourdomain.org
     mail2.ourdomain.org

Each server has MX records pointing to itself and a less preferred MX
record pointing to the other. The host name smtp.ourdomain.org has a CNAME
record pointing to mail1 and mail clients are instructed to use
smtp.ourdomain.org as the relay for outgoing mail.

The idea is that if mail1 goes down, then the less preferred MX record
will be used to send mail out via mail2. This works well for the Unix mail
program Pine 4.10, which will switch from mail1 to mail2 with only a 5
minute delay.

But the PC programs don't work so well. Pine 4.32, Eudora Pro 5.0, and
Outlook Express 5.0 all ignore the MX records. Microsoft Outlook 5.0 is
even worse. In our tests, messages sent while mail1 was down stay in the
outbox and are not sent later when mail1 recovers. This is true even if
one hits "send/receive".  If you right click on the outbox entry you are
told "This message did not get sent". You can forward the message, and it
will go out promptly, suggesting that Outlook isn't even trying to send it
out.

At http://eudora.com/techsupport/kb/2178hq.html Eudora says that the Mac
version has a "UseMX" option that is off by default, but that page doesn't
specify the treatment of MX records in the PC version.

At http://support.microsoft.com/support/kb/articles/Q208/9/15.ASP
Microsoft says that Outlook Express 4.0 follows MX records, and uses the A
record only if no MX record is usable, but that OE 4.5 reverses the
selection and looks for MX records only if the A record is unusable. There
is no mention of how 5.0 might use MX records that I can tell, but it
looks to us like it ignores them entirely.

Both web sites suggest that waiting for MX records that may not exist is
tiresome and the vendor is doing a favor for the user by ignoring them.

At http://www.washington.edu /pine/pine-info/1996.05/msg00174.html there
is a comment from Marc Crispin (one of the Pine developers):

>     The brief answer [is] that the requirement for MX records has to
> do with MTA (Mail Transfer Agent, a.k.a. "mailer")  interchange with
> other MTAs. Pine's SMTP code is not, and is not intended to be, an
> MTA.  It is merely mechanism for queueing a message to an MTA.  There
> are no RFC requirements on a mechanism for queueing to an MTA.

This describes PC-Pine, but we don't have problems with Pine on Unix.
Perhaps there is a favorable interaction with sendmail acting as the MTA
(which would obey the MX directive) before the message is transferred to
the relay server. In any case, with Unix Pine, messages do seem to get
through even if the least cost mail relay is down.

Is there any way to have redundant servers for PC clients? I note (if
there are any developers listening) that there is a new DNS record type
"SRV" that would be an alternative for providing redundancy in this
situation which is documented in RFC 2782.

Daniel Feenberg
[email-masked]
Mohan Ramanujan
[email-masked]

-- 
-----------------------------------------------------------------
 For information about this mailing list, and its archives, see: 
 http://www.washington.edu/pine/pine-info/
-----------------------------------------------------------------

---

From: Steve Hubert <[email-masked]>
Date: Thu, 8 Feb 2001 09:52:16 -0800 (Pacific Standard Time)

I have not checked what the various clients do, but what happens if you
use multiple A records instead of MX records? You'd have a domain

  smtp.ourdomain.org

which had two A records, the addresses of mail1 and mail2. If smtp had an
MX record I would expect that to be used only for mail addressed to
[email-masked] (for example, [email-masked]).

-- 
Steve Hubert <[email-masked]>
Networks and Distributed Computing, Univ. of Washington, Seattle

---

From: Daniel Feenberg <[email-masked]>
Date: Thu, 8 Feb 2001 16:39:46 -0500 (EST)

Redundant Outbound SMTP Servers:

Second Try, with Multiple A Records

Reorganize the DNS zone file so that there is a single hostname with
two A records<p>

     smtp      IN  A     192.168.0.1
     smtp      IN  A     192.168.0.2

Now clients will receive both numeric addresses when they look for
smtp.example.org. The order will vary, since Bind "round robbins" the
addresses. The Windows "ping" command confirms that both addresses are
sent and available to applications on the PC.

What happens if one address points to a nonfunctioning server? In very
limited testing, it seems that Pine was sometimes able to send the message
but not every time. Perhaps it depended on which IP address was first on
the list returned by Bind. Eudora Pro 5.0 seems to always send the message
out without noticable delay, and both Microsoft products (Outlook 5.0 and
Outlook Express 5.0) simply held the mail in their outboxes forever. This
last behavior seemed perverse, surely it should work at least half the
time, but we did not observe that.

I couldn't find anything in the standard (RFC974) that required a mail
client to respond in any particular way to multiple IP addresses, although
it would seem that timing out expeditiously and trying the next address
would be the best response when the first address tried was not
responding.

Daniel Feenberg
[email-masked]