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]