geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rick McGuire <rick...@gmail.com>
Subject Re: Geronimo 1.1.1's Javamail does not work for some SMTP server with more than 1 beginning lines
Date Wed, 22 Aug 2007 14:18:25 GMT
Chua Chee Seng wrote:
> Hi Rick,
>
> Thanks for the reply.  I would be happy to help out testing it.  However, I
> am very new to this community and some guidance is really appreciated.  :-)
>   
This should be fairly simple.  I built a 1.1.1 version of SMTP code and 
placed it here:

http://people.apache.org/~rickmcguire/stage-javamail/geronimo-javamail-transport-1.1.1.jar

Just replace the geronimo-javamail-transport jar file in your 1.1.1 
server assembly, and retry your program.  That will verify that my fix 
is working correctly and I'll be able to commit my fix for the problem.  
Unfortunately, the fix won't ship until the next Geronimo update, but 
you'll have a corrected jar to run with while you're on 1.1.1.

Rick


> Regards,
> Chee Seng
>
>
>
> Rick McGuire wrote:
>   
>> This is the first time I've encountered an SMTP server that sends a 
>> response back like this.  I've opened a JIRA for this issue:
>>
>> https://issues.apache.org/jira/browse/GERONIMO-3427
>>
>> and I'll take a look at fixing this.  Since I don't have access to an 
>> SMTP server that behaves this way, are you willing/able to help try out 
>> potential fixes?
>>
>> Rick
>>
>> Chua Chee Seng wrote:
>>     
>>> Hi,
>>>
>>> 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:-
>>>
>>> ...
>>> 220-xxx.xxx.xxx 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
>>> server.
>>>
>>> When using telnet xxxx 25 to my SMTP server, I found out that once
>>> connected, the SMTP is sending back three lines of text:-
>>> 220-xxx.xxx.xxx 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
>>> facing)?
>>>
>>> Thanks in advance for any advice.
>>>
>>> Best Regards,
>>> Chee Seng
>>>   
>>>       
>>
>>     
>
>   


Mime
View raw message