Author: norman
Date: Sat Sep 17 18:01:09 2011
New Revision: 1172032
URL: http://svn.apache.org/viewvc?rev=1172032&view=rev
Log:
Copy the recipients collection before try to modify it. See JAMES-1318
Modified:
james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/RemoteDelivery.java
Modified:
james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/RemoteDelivery.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/RemoteDelivery.java?rev=1172032&r1=1172031&r2=1172032&view=diff
==============================================================================
---
james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/RemoteDelivery.java
(original)
+++
james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/RemoteDelivery.java
Sat Sep 17 18:01:09 2011
@@ -1067,7 +1067,8 @@ public class RemoteDelivery extends Gene
} catch (SendFailedException sfe) {
logSendFailedException(sfe);
- Collection<MailAddress> recipients = mail.getRecipients();
+ // Copy the recipients as direct modification may not be possible
+ Collection<MailAddress> recipients = new
ArrayList<MailAddress>(mail.getRecipients());
boolean deleteMessage = false;
@@ -1139,6 +1140,9 @@ public class RemoteDelivery extends Gene
log("Can't parse invalid address: " +
pe.getMessage());
}
}
+ // Set the recipients for the mail
+ mail.setRecipients(recipients);
+
if (isDebug)
log("Invalid recipients: " + recipients);
deleteMessage = failMessage(mail, sfe, true);
@@ -1159,6 +1163,8 @@ public class RemoteDelivery extends Gene
log("Can't parse unsent address: " +
pe.getMessage());
}
}
+ // Set the recipients for the mail
+ mail.setRecipients(recipients);
if (isDebug)
log("Unsent recipients: " + recipients);
if
(sfe.getClass().getName().endsWith(".SMTPSendFailedException")) {
@@ -1169,7 +1175,8 @@ public class RemoteDelivery extends Gene
}
}
}
-
+
+
return deleteMessage;
} catch (MessagingException ex) {
// We should do a better job checking this... if the failure is a
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]