Hi Tim, maybe I missunderstand you, but for me that makes no sense at all.
bye Norman [EMAIL PROTECTED] schrieb: > I appreciate the feedback. I agree now that this isn't a bug. > > I did some digging into the SMTP RFC 2821 > http://www.ietf.org/rfc/rfc2821.txt (sections 3.8 & 5) to see what they > had to say about gateways and they didn't really specify a proper way of > connecting to the gateway or that address resolution of the gateway > needed to be the same when delivering mail directly to the destination > SMTP server (section 5). > > Although, from a purist perspective, wouldn't it make sense to handle > communicating with the SMTP gateway in the same way as if delivering > mail to the destination STMP server? Perhaps it makes sense to first do > an MX lookup of the gateway address, and if no MX record is found, to > then use the A record? > > I'm willing to code this change and submit it to the Apache James > project if it makes sense. > > Please advise. > > Tim Michalski > > > > -----Original Message----- > From: Stefano Bagnara [mailto:[EMAIL PROTECTED] > Sent: Friday, April 20, 2007 9:09 AM > To: James Users List > Subject: Re: RemoteDelivery mailet doesn't do an MX lookup on the > gateway smtp hostname(s) > > Hi Tim, > > If I understood your problem then it is not a bug. > > In the gateway you have to provide a valid hostname, with a valid "IN A" > > (direct) resolution. > > As you noticed mailout01 has not direct resolutions, but only an mx, so > it is pretty useless as we couldn't know where to connect to. > > You probably have simply to use example.weelsfargo.com as your gateway. > > Stefano > > [EMAIL PROTECTED] ha scritto: > >> I need to setup a James mail server to basically receive e-mail and >> forward all mail to a "master" mail server. I've modified the >> RemoteDelivery mailet properites within the transport processor of the >> > > >> config.xml and specified the gateway server hostname and port. When I >> test the James mail server by sending mail to it, I am getting the >> following output in the logs: >> >> 17/04/07 14:10:51 INFO James.Mailet: RemoteDelivery: Unknown gateway >> host: unknown host >> 17/04/07 14:10:51 INFO James.Mailet: RemoteDelivery: This could be a >> DNS server error or configuration error. >> >> I did an nslookup on my gateway server hostname and noticed that only >> an MX record has been setup... no A record exists for this hostname. >> For >> example: >> >> mailout01 MX example.wellsfargo.com >> >> The quick fix for this is to just use the hostname >> "example.wellsfargo.com" rather than "mailout01.wellsfargo.com". >> >> I dug into the RemoteDelivery mailet source to see what is going on... >> >> RemoteDelivery.getGatewaySMTPHostAddresses(Collection) is grabbing >> each gateway hostname and calling >> org.apache.james.dnsserver.DNSServer.getAllByName(nextGateway); >> >> DNSServer.getAllByName(nextGateway) is a wrapper method that makess a >> call out to org.xbill.DNS.Address.getAllByName(allowIPLiteral(host)); >> >> org.xbill.DNS.Address.getAllByName(String addr) { >> byte [] bytes; >> bytes = toByteArray(addr, IPv4); >> if (bytes != null) >> return InetAddress.getByAddress(bytes); >> bytes = toByteArray(addr, IPv6); >> if (bytes != null) >> return InetAddress.getByAddress(bytes); >> throw new UnknownHostException("Invalid address: " + addr); } >> >> The UnknownHostException is thrown when executing >> InetAddress.getByAddress(bytes) for my hostname >> "mailout01.wellsfargo.com" because DNS cannot resolve it's A record. >> >> For hostnames that have an A record, this exception is not thrown, >> which then RemoteDelivery.getGatewaySMTPHostAddresses(Collection) >> formats the returned InetAddress into a URL string like >> "smtp://something.goes.here". I am guessing that specifying the >> "SMTP://" indicates that port 25 will be accessed. >> >> So it seems that the bug is in having InetAddress.getByAddress() >> attempting to resolve the A record of the gateway server hostname. A >> solution could be to lookup the MX record of the gateway server, >> retrieve the A record that the MX record is pointing to and then call >> org.xbill.DNS.Address.getAllByName(String addr). >> >> >> Please advise. >> >> Thanks, >> >> Tim Michalski >> > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > !DSPAM:1,46290a5a324323082015302! > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
