I'm writing a Spring/Java/Tomcat app, and I'm having a problem with getting it to send email. I can send email fine from a given piece of code when run as a standalone Java application, but when it runs within Tomcat it runs fine but Javamail doesn't work properly, throws an error at the start of the email conversation. I think I may have narrowed it down to multiple javamail implementations, but I'm not sure yet, but I'm still seeing something a bit bizzare.
The most bizarre part is the email server isn't behaving as I'd expect when I telnet to the server (try it youserlf) - the first EHLO or HELO is always sent a 500 unrecognised command reply, but exactly the same command repeated works.
220-gator84.hostgator.com ESMTP Exim 4.77 #2 Fri, 20 Jul 2012 15:18:52 -0500
220-We do not authorize the use of this system to transport unsolicited,
220 and/or bulk e-mail.
EHLO testdomain.com
500 unrecognized command
EHLO testdomain.com
250-gator84.hostgator.com Hello testdomain.com [my IP removed]
250-SIZE 52428800
250-PIPELINING
250-AUTH PLAIN LOGIN
250-STARTTLS
250 HELP
And another session
220-gator84.hostgator.com ESMTP Exim 4.77 #2 Fri, 20 Jul 2012 15:20:10 -0500
220-We do not authorize the use of this system to transport unsolicited,
220 and/or bulk e-mail.
HELO bob.com
500 unrecognized command
HELO bob.com
250 gator84.hostgator.com Hello bob.com [my IP removed]
Here's the logs from tomcat which show much the same thing
DEBUG: getProvider() returning provider protocol=smtp; type=javax.mail.Provider$Type@62e26a4a;.apache.geronimo.javamail.transport.smtp.SMTPTransport; vendor=Apache Software Foundation;version=1.0
SMTPTransport DEBUG: Connecting to server mail.headphonereviews.org:25 for user (removed)
SMTPTransport DEBUG: Attempting plain socket connection to server (removed):25
220-gator84.hostgator.com ESMTP Exim 4.77 #2 Fri, 20 Jul 2012 15:28:20 -0500
>>>>>Sending data EHLO (removed)<<<<<<
EHLO (removed)
220-We do not authorize the use of this system to transport unsolicited,
>>>>>Sending data HELO (removed)<<<<<<
HELO (removed)
220 and/or bulk e-mail.
The thing that throws me is telnetting to the SMTP port gives me the same failure as Javamail gets running inside tomcat, but running as an app it works fine.
I know a little about email, I wrote an email server about ten years ago, nothing commercial just a university project, but I'm not an email expert. Any thoughts or ideas?