geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chua Chee Seng <>
Subject Geronimo 1.1.1's Javamail does not work for some SMTP server with more than 1 beginning lines
Date Mon, 20 Aug 2007 08:49:57 GMT


I am trying to use the Geronimo Javamail.  I have setup the resource and
resource-ref stuff and try to send a mail from the application.  I turn off
the debug flag and see the following in the console:-

... ESMTP Exim x.xx #1 Mon, 20 Aug 2007 16:29:11 +0800
EHLO xxxxx
220-We do not authorize the use of this system to transport unsolicted,
HELO xxxxx
220 and/or bulk email.

An exception is then thrown complaining that it fails to send HELO to the

When using telnet xxxx 25 to my SMTP server, I found out that once
connected, the SMTP is sending back three lines of text:- ESMTP Exim x.xx #1 Mon, 20 Aug 2007 16:29:11 +0800
220-We do not authorize the use of this system to transport unsolicted,
220 and/or bulk email.

I then try with a local SMTP using Apache JAMES, which successfully send the
mail.  When I try to telnet localhost 25, it is sending back only one line
of text:-

220 xxxx SMTP Server (JAMES SMTP Server 2.3.1) ready Mon, 20 Aug 2007
16:32:26 +0800 (SGT)

I am suspecting Geronimo Javamail implementation (version 1.1.1) cannot be
used on SMTP who sends back more than 1 lines of 220 service ready.  I
investigate the source code of
org.apache.geronimo.javamail.transport.smtp.SMTPTransport and study that
getReply() method is using the receiveLine() method to read response from
the server.  As receivedLine() is using end of stream (read() ==-1) or CR or
LF to indicate end of response from server, so in the above scenario each
220 are identified as a response from the server.  After receiving the first
220, the client send a EHLO but fails as the server is sending back the 2nd
220.  The client then try to send a HELO but receive the 3rd 220, which it
finally gave up and throw a fails to send HELO exception.

I have switch to Sun Javamail implementation to solve the problem.  However,
I personally prefer to use Geronimo implementation due to installation
issue.  Is there a better way, or is it in the later version (Geronimo 1.2,
2.0, I didn't try  :P), the Geronimo Javamail can handle SMTP that sends
more than 1 lines of 220 back to client (like the SMTP server that I am

Thanks in advance for any advice.

Best Regards,
Chee Seng
View this message in context:
Sent from the Apache Geronimo - Users mailing list archive at

View raw message