Søren Hilmer wrote:...
So it is handling a multihomed destination that needs to be addressed.
I want to make sure I understand this issue. I've put some debugging statements into org.apache.james.dnsserver.DNSServer, which print out Record.toString() in places of interest. Today, when I call findMXRecords("yahoo.com"), the subsequent lookup("yahoo.com", Type.MX); returns the following three records, shown here before they are sorted for priority order.
yahoo.com. 2320 IN MX 1 mx2.mail.yahoo.com. yahoo.com. 2320 IN MX 5 mx4.mail.yahoo.com. yahoo.com. 2320 IN MX 1 mx1.mail.yahoo.com.
The problem being discussed here is that host mx2.mail.yahoo.com. may exist at several IP addresses (i.e., that a subsequent lookup of mx2.mail.yahoo.com. may produce several A records.)(?) So that if, after sorting for priorities, we decide to connect to mx2.mail.yahoo.com. , then we need to try each of the IP addresses for mx2.mail.yahoo.com. before we go on to try the next host-name in our priority ordering (which would be mx1.mail.yahoo.com.) Is that the problem?
Do we know for sure that the JavaMail code underlying the call: transport = session.getTransport(urlname); (in method RemoteDelivery.deliver(Mail, Session)) does not do this for us?
Do you have an example, Søren, of a MX host which you know has multiple A records, so that I can test with it?
The return is a Collection of String objects. Each one is currently of the form "host", but if we were to handle multi-homed hosts by using "host/IP", it seems to me that we could either parse it directly ...
I guess this may require an additional call to the underlying DNSServer.rawDNSLookup(), because I don't think DNSServer.findMXRecords() ever has the redundant A records. This is interesting -- but with my ignorance of DNS I am just guessing.
Rich
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]