[ https://issues.apache.org/jira/browse/JAMES-3791?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17566218#comment-17566218 ]
Karsten Otto commented on JAMES-3791: ------------------------------------- I though of Option 3 after I posted this, i.e. make sure every delivery uses its own session object. Using a pool for this makes sense, good idea. So tryDeliveryToHost() will at its beginning take a session from the pool, to be configured for this delivery, and return it to the pool at the end of the method. An unbounded pool will scale to whatever the number of delivery thread concurrency is, so this is probably fine for a first fix. Any further tuning may come later if necessary. I will take a crack at this. > 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 > Priority: Major > > *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