CLONE -If FetchMail cannot parse Received header, it cannot process the message 
even with <remotereceivedheader reject="false".../>
-----------------------------------------------------------------------------------------------------------------------------------

                 Key: JAMES-795
                 URL: https://issues.apache.org/jira/browse/JAMES-795
             Project: James
          Issue Type: Bug
          Components: FetchMail
    Affects Versions: 2.3.0
            Reporter: sravan


When FetchMail cannot determine the IP address of the sender of an e-mail from 
the "Received" headers, it fails to process the e-mail even when it is told to 
not reject such errors.

I have debugged this problem in the code, and it appears that the problem is 
because an UnknownHostException is being thrown in the call to 
getRemoteAddress() within the createMail() method.

Currently, getRemoteAddress() throws an UnknownHostException for the 
isRemoteReceivedHeaderInvalid() method to work.  A "reject" setting of "true" 
allows the code to continue processing after this test.  However, it appers 
that createMail() doesn't expect an exception to be thrown, but a null value to 
be returned when the address cannot be parsed.

One possible solution would be for createMail to explicitly handle 
UnknownHostExceptions and use this to set the values of the address and remote 
host of the e-mail to "localhost" instead of testing for a return value of null 
from these methods.

Another possible solution would be to explicitly parse the "Received" header up 
front instead of lazily parsing it inside the getRemoteAddress() method.  If 
this were done, there would be no reason for getRemoteAddress() to throw an 
UnknownHostException at all, and would also prevent a possible "double lazy 
initialization" that could occur with the first solution.


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to