Hoi folx,
due to the discussion on another list about SMTP delivery orders I have
reread some parts of rfc2821 and IMHO 821/2821/2821bis are very unclear
about what is meant to happen and how it should happen. IMHO some parts are
even in contradiction to each other.
Also there was some fundamental controverse discussion about whether
"cannot connect" (i.e. no TCP connect) should be treated identically to
a 4xx error in the SMTP dialogue.
Let's assume that there is a (external) mail from jane(_at_)example(_dot_)net to
joe(_at_)example(_dot_)com(_dot_) example.com has the following setup:
example.com. IN MX 10 a.mx.example.com.
IN MX 10 b.mx.example.com.
IN MX 20 c.mx.example.com.
IN MX 30 d.mx.example.com.
a.mx.example.com. IN A 10.0.0.1
b.mx.example.com. IN A 10.0.10.1
IN A 10.0.10.2
c.mx.example.com. IN A 10.0.20.1
d.mx.example.com. IN A 10.0.30.1
Case 1:
-------
Let's assume that each of the listed mailservers/adresses will return a
4xx error as an answer to the
RCPT TO: <joe(_at_)example(_dot_)com>
command.
IMHO the sending MTA should
connect 10.0.0.1
connect random(10.0.10.1, 10.0.10.2) or preferred(10.0.10.1, 10.0.10.2)
backoff for some time
Case 2:
-------
Let's assume that each of the listed mailservers/adresses gives a
"connection failure".
IMHO the sending MTA should
connect 10.0.0.1
connect random(10.0.10.1, 10.0.10.2) or preferred(10.0.10.1, 10.0.10.2)
connect 10.0.20.1
connect 10.0.30.1
backoff for some time
Yes, I know about the pros/cons of connecting to all addresses of multihomed
hosts. For a little simplicity let's assume "cons" now ;)
Opinions?
\Maex