Karsten Otto created JAMES-3791:
-----------------------------------
Summary: Remote Delivery sometimes uses wrong MAIL FROM address
Key: JAMES-3791
URL: https://issues.apache.org/jira/browse/JAMES-3791
Project: James Server
Issue Type: Bug
Components: Remote Delivery
Affects Versions: master, 3.7.0
Reporter: Karsten Otto
*Observed Issue:*
When delivering a mail to a remote server, James sometimes under load uses the
wrong envelope sender (MAIL FROM). This creates a wrong Return-Path at the
recipients end, which among other things causes problems with DSN replies.
*Analysis:*
I traced this to MailDelivrerToHost.tryDeliveryToHost(), which shows in the
debug log a pattern like:
# Attempting delivery of ... from [email protected]
# Mail sent successfully to ... from [email protected]
I also notice that getPropertiesForMail() modifies the shared SMTPSession by
putting the envelope sender into its properties. So this is likely a race
condition.
*Possible Fixes:*
I am not sure what the best fix for this would be:
# Make tryDeliveryToHost() synchronized (ugly)
# Use SMTPMessage.setEnvelopeSender() instead of SMTPSession properties
Fix 2 is nicer as it preserves concurrency, but it requires that
mail.getMessage() is always an SMTPMessage (extends MimeMessage). I do not know
the James code base well enough to be certain of that.
Any thoughts?
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]