Here is the base code. Note localHost is a property of the MailConnection class. Note also that there is a setLocalHost() method. I am going to try setting the localhost property from RemoteDelivery using setLocalHost( localHost ).
public String getLocalHost() throws MessagingException { if (localHost == null) { try { localHost = InetAddress.getLocalHost().getHostName(); } catch (UnknownHostException e) { // fine, we're misconfigured - ignore } if (localHost == null) { localHost = props.getProperty(MAIL_LOCALHOST); } if (localHost == null) { localHost = props.getSessionProperty(MAIL_LOCALHOST); } if (localHost == null) { throw new MessagingException("Can't get local hostname. " + " Please correctly configure JDK/DNS or set mail.smtp.localhost"); } } return localHost; } /** * Explicitly set the local host information. * * @param localHost * The new localHost name. */ public void setLocalHost(String localHost) { this.localHost = localHost; } On Oct 27, 2014, at 11:28 AM, Jerry Malcolm <techst...@malcolms.com> wrote: > mailet calls 'transport' which is an "SMTPTransport" instance. SMTPTransport > calls SMTPConnection.getLocalHost() which is inherited from > MailConnection.getLocalHost(). > > That method returns the InetAddress().getLocalHost().getHostName() first. > According to the spec, that should only occur IF the property > mail.smtp.localhost is not set. So i think the fix should be in that method. > > The very first thing in the MailConnection.getLocalHost() method should be > something like: > --------------------------------------- > if ( props.getProperty( "mail.smtp.localhost" ) != null ) return( > props.getProperty( "mail.smtp.localhost" )); > --------------------------------------- > Then let it try all of the other options if and only if this property is NOT > set. > > Jerry > > On 10/27/2014 1:07 PM, Robert Munn wrote: >> More info. SMPTConnection.java extends MailConnection.java which has a >> method with this signature: >> >> public boolean protocolConnect(String host, int port, String username, >> String password) throws MessagingException >> >> If you fail to pass ‘host’ as an argument to the method, the host defaults >> to ‘localhost’. A patch could be made there. A better patch would be to find >> the upstream code that is calling this method and patch it to send the >> correct hostname. I am hunting for that location, please let me know if you >> have any suggestions... >> >> >> >> >> On Oct 27, 2014, at 10:25 AM, Jerry Malcolm <techst...@malcolms.com> wrote: >> >>> Thanks for jumping in and investigating. This has gone from ugly to >>> horrible.... I think I have found the culprit. >>> >>> I first had to figure out who is providing the class for SMTPTransport. >>> figured out that the package for SMTPTransport is: >>> org.apache.geronimo.javamail.transport.smtp. So it is NOT a base JVM >>> implementation.... It's apache, and I am about to withdraw my statement >>> that 'surely the transport class couldn't be ignoring a property"..... >>> >>> Geronimo's SMTPTransport.java uses a class SMTPConnection which actually >>> returns the localhost name. And... no surprise at this point, it totally >>> ignores the mail.smtp.localhost property. The property doesn't even appear >>> anywher in the class. First line in getLocalHost() pulls the >>> InetAddress.getLocalHost().getHostName() value. >>> >>> So.... half the problem is done... we know the culprit. Now I guess (oh >>> joy....) I get to download the whole geronimo package, set up a build >>> process, fix the code, and replace the jar on my server. (yuck). >>> >>> That is... unless someone already has a VERY quick way to patch and rebuild >>> geronimo..... Looking for volunteers.... :-) >>> >>> In the meantime, I will also try adding that JVM parameter to try to >>> override the Win Server machine name. >>> >>> Still open to other suggestions for quicker workaround..... >>> >>> Thanks. >>> >>> Jerry >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: server-user-unsubscr...@james.apache.org >>> For additional commands, e-mail: server-user-h...@james.apache.org >>> >> >> >> >> ----- >> No virus found in this message. >> Checked by AVG - www.avg.com >> Version: 2015.0.5315 / Virus Database: 4189/8462 - Release Date: 10/27/14 >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: server-user-unsubscr...@james.apache.org > For additional commands, e-mail: server-user-h...@james.apache.org