Guys, specially Serge,
 please examine this patch and tell me why I shouldn't commit it.

The symptom: setting headers on a MimeMessageWrapper object appeared to cause the 
message-id to change

The problem: MimeMessageWrapper was calling saveChanges() in writeTo(), and 
saveChanges() sets a new Message_Id every time, regardless.

The solution: remove saveChanges from writeTo() 

Any other solution to the same problem would be OK by me, but its my firm belief that 
we should not change message-ID's unless we clone the message.

d.

Index: MimeMessageWrapper.java
===================================================================
RCS file: 
/home/cvs/jakarta-james/src/java/org/apache/james/core/MimeMessageWrapper.java,v
retrieving revision 1.19
diff -u -r1.19 MimeMessageWrapper.java
--- MimeMessageWrapper.java     7 Jan 2003 11:06:35 -0000       1.19
+++ MimeMessageWrapper.java     5 Feb 2003 14:44:35 -0000
@@ -200,7 +200,10 @@
             }
             in.close();
         } else {
-            message.saveChanges();
+            if(message.getMessageID()!=null){
+
+            }
+           // message.saveChanges();
             message.writeTo(os);
         }
     }
@@ -263,7 +266,7 @@
             MimeMessageWrapper wrapper = (MimeMessageWrapper)message;
             wrapper.writeTo(headerOs, bodyOs, ignoreList);
         } else {
-            message.saveChanges();
+            //message.saveChanges();
 
             //Write the headers (minus ignored ones)
             Enumeration headers = message.getNonMatchingHeaderLines(ignoreList);


Reply via email to