> Can you name some of "Most mail clients"? In the past 10 years I used
> many different MUAs and I'm sure I've always been subscribed to at least
> one list with 2 different accounts receiving each list messages at least
> twice with the same Message-ID: in all of the MUAs I used I received
> each message twice with no unexpected "filtering" by the MUA (Agent,
> Outlook 2000, Outlook 2003, Outlook Express, Eudora don't remember the
> versions, Thunderbird since 1.0 to current, Sylpheed Claws, Gmail, The
> Bat, MailWarrior, and probably others I forgot).

You are right I should have been more precise on this. I have
experienced this behavior with Outlook and Exchange 2003 some time ago
while testing a James based application. It took me some time to
understand why I did not receive some test messages until I found out
that Exchange filtered on duplicate message-id's. 
I was under the impression that Evolution did the same but I just tested
it and it seems that I receive the duplicate messages. So you are
probably right in that not all clients (most?) filter in message-id. I'm
sorry for that. 
Still, Exchange (I tested it some time ago with Exchange 2003) did
filtered on message-id's. 


> AddFooter is one of that cases that are fixed by this patch.
> Adding a footer SHOULD NOT change the message-id.

AddFooter was just an example of a mailet that modified the source message. 
I did not say that in this particular example (ie. AddFooter mailet) the 
message-id 
should be different after adding the footer.

My point is that you do not know what kind of mailets other James users have 
created. 


> Exchange 2007? Is it Exchange 2007 Server or does Exchange identify also
> a MUA product? I'd like to have at least another example. I wouldn't go
> RFC uncompliant to follow M$ proprietary solutions. If Exchange 2007 is

I don't think RFC2888 says something about dropping duplicate
message-id's so it's probably up to the implementation to handle (or not
handle) this. Exchange filters it like this:

http://msexchangeteam.com/archive/2004/07/14/183132.aspx


> In any way what Exchange 2007 does (from my reading) is to suppress
> messages having the same Message-ID and destinated to the same
> Recipient. 

You are right in that it only affects messages being sent to the same recipient 
but 
it still is a change of behavior that can change some behavior for some 
existing mailets.

Personally I don't care if this patch is applied or not because I understand 
the possible 
implications but I just wanted to discuss the possible pitfalls with this patch.

Personally I think the default behavior should be to change the message-id when 
the 
message has been changed unless you know that the changes did not change the 
message
in such a way that a new message-id is required.


Martijn

On Sun, 2008-10-05 at 16:00 +0200, Stefano Bagnara wrote: 
> Martijn Brinkers ha scritto:
> >> Yes, do you see a problem with this?
> > 
> > That depends on the mailets you use. What if you split a message and for
> > one part of the recipients you change something to the message (like add
> > a header or disclaimer) and the other part you sent the message as is.
> 
> Reading the RFC adding an header or a footer does not change the meaning
> of the message and SHOULD NOT change the Message-ID.
> 
> > Currently the message that was not modified has the original message-id
> > and the modified message has a new message-id. With the new patch both
> > messages have the same message-id.
> 
> In fact the current behaviour is bad and is a BUG, in my opinion.
> The behaviour introduced by the patch is the one imposed by RFC2822.
> 
> > Whether that is problematic or not is
> > highly dependend on what has been changed to the message. Most mail
> > clients that I know of filter messages based on message-id, ie. it just
> > discards messages with duplicate message-id's even if the message
> > content is different.
> 
> Can you name some of "Most mail clients"? In the past 10 years I used
> many different MUAs and I'm sure I've always been subscribed to at least
> one list with 2 different accounts receiving each list messages at least
> twice with the same Message-ID: in all of the MUAs I used I received
> each message twice with no unexpected "filtering" by the MUA (Agent,
> Outlook 2000, Outlook 2003, Outlook Express, Eudora don't remember the
> versions, Thunderbird since 1.0 to current, Sylpheed Claws, Gmail, The
> Bat, MailWarrior, and probably others I forgot).
> 
> > I therefore think the current behavior is the
> > correct behavior because the 'patch' does do not 'know' whether the
> > message has been duplicated and modified in such a way that a new
> > message-id should be created or not. 
> > 
> >> Can you provide a use case where a mailet starts from an user-created
> >> message and alter its content to produce something with a different 
> >> meaning?
> > 
> > AddFooter mailet? Of course it's debatable whether a message with a footer 
> > should get a new message-id or not but what if a message is split and two 
> > different footers are added (because for example sending a message to a 
> > specific country requires a different footer)?
> 
> AddFooter is one of that cases that are fixed by this patch.
> Adding a footer SHOULD NOT change the message-id.
> 
> At most we could discuss whether a partial match (leading to message
> duplication) should create a new message-id for one of the 2 messages or
> not, but not if AddFooter should change the message-id, because IMO this
> is clearly mandated by RFC2822. I still think that we should not change
> the Message-ID in this case because we split by recipient and it is OK
> to have multiple messages with same or similar content destinated to
> multiple recipients using the same Message-ID.
> I should make sure the AbstractNotify mailet (and maybe the
> AbstractRedirect, using a configurable behaviour) actually change the
> Message-ID, but all of other mailets SHOULD NOT change the Message-ID.
> 
> > Changing the default behavior on handling message-id's could result in 
> > dropping of messages
> > 
> > example: 
> > http://forums.msexchange.org/m_1800460467/mpage_1/key_/tm.htm#1800460467
> 
> Exchange 2007? Is it Exchange 2007 Server or does Exchange identify also
> a MUA product? I'd like to have at least another example. I wouldn't go
> RFC uncompliant to follow M$ proprietary solutions. If Exchange 2007 is
> the only server abusing Message-ID then it is probably a bug and maybe
> they are not even aware of this. IIRC M$ is already known to ignore RFC
> in this area, like Outlook 2000 (and maybe others) do not add a
> Message-ID to sent messages.
> 
> In any way what Exchange 2007 does (from my reading) is to suppress
> messages having the same Message-ID and destinated to the same
> Recipient. So this is a very specific case: to send the same message
> with modified content to the same recipient in james you have to
> duplicate it somewhere and to reroute the duplicated message to the same
> recipient, otherwise it won't happen. Your "partial matcher"+AddFooter
> example would not be hit by the Exchange 2007 filter because the
> different mails would have different recipients.
> 
> Stefano
> 
> > Martijn
> > 
> > On Sun, 2008-10-05 at 13:22 +0200, Stefano Bagnara wrote:
> >> Martijn Brinkers ha scritto:
> >>> But what happens with messages that are split into multiple messages 
> >>> (because of a matcher)? Do they get the same message-id? 
> >> Yes, do you see a problem with this?
> >> It seems this also happen when your MUA sends a message to multiple
> >> recipients on different domains.
> >> The MTA will send the same message to each recipient MDA and they all
> >> will share the same Message-ID, please correct me if you know of MTA
> >> that do alter the Message-ID in this case.
> >>
> >>> And what if the message has been changed in such a way that the message 
> >>> is no longer similar to the original message? Should it get a new 
> >>> message-id when the message content has been changed completely?
> >> A mailet can simply call setHeader('Message-ID', 'xxxx') whener there is
> >> a need to change it.
> >>
> >> >From RFC2822:
> >> ----
> >>    Note: There are many instances when messages are "changed", but those
> >>    changes do not constitute a new instantiation of that message, and
> >>    therefore the message would not get a new message identifier.  For
> >>    example, when messages are introduced into the transport system, they
> >>    are often prepended with additional header fields such as trace
> >>    fields (described in section 3.6.7) and resent fields (described in
> >>    section 3.6.6).  The addition of such header fields does not change
> >>    the identity of the message and therefore the original "Message-ID:"
> >>    field is retained.  In all cases, it is the meaning that the sender
> >>    of the message wishes to convey (i.e., whether this is the same
> >>    message or a different message) that determines whether or not the
> >>    "Message-ID:" field changes, not any particular syntactic difference
> >>    that appears (or does not appear) in the message.
> >> ----
> >>
> >> Can you provide a use case where a mailet starts from an user-created
> >> message and alter its content to produce something with a different 
> >> meaning?
> >>
> >> If a mailet sends a different message based on the input message it will
> >> usually create a new mimemessage: there is no reason to alter the input
> >> message if you don't have to keep some/most of its content.
> >>
> >> Stefano
> >>
> >>> Martijn Brinkers
> >>>
> >>> On Sun, 2008-10-05 at 00:31 +0200, Stefano Bagnara wrote:
> >>>> Hi all,
> >>>>
> >>>> I just updated my local server to include the patch I proposed in 
> >>>> JAMES-875.
> >>>>
> >>>> This basically adds this code to MimeMessageWrapper:
> >>>> -----
> >>>> protected void updateMessageID() throws MessagingException {
> >>>>   if (getMessageID() == null) super.updateMessageID();
> >>>> }
> >>>> -------
> >>>>
> >>>> This way my Message-IDs are presereved after Javamail's
> >>>> mimeMessage.saveChanges calls.
> >>>>
> >>>> Most of our mailets are otherwise altering the Message-ID and this can
> >>>> lead to many issues (SpamAssassin score increased, Domain-Key
> >>>> verification failing...).
> >>>>
> >>>> I think this should be applied ASAP to trunk and also backported to 2.3
> >>>> branch.
> >>>>
> >>>> Opinions?
> >>>>
> >>>> Stefano
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>>> For additional commands, e-mail: [EMAIL PROTECTED]
> >>>>
> >>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>> For additional commands, e-mail: [EMAIL PROTECTED]
> >>>
> >>>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> > 
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> > 
> > 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to