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 al...@example.org # Mail sent successfully to ... from b...@example.org 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: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org