Title: Re: Sorting threads with "Re:"
On 27/10/2002 12:22, "Mark and Theresa"  wrote:

> I am on a mailing list that has several different replying styles used. The
> first has "Insrt name of group" first, so "[group] chickens" would be
> followed up with "[group] Re: chickens". On the other hand some use a
> different style  as is the reply being "Re: [group] chickens". Is there any
> way of lumping these in one thread rather than having them replies split?

This is a problem.

The use of a group name prefix always causes this sort of problem. It can be scripted so that messages have the subject rearranged to be all in a common format, but this gets complicated. You not only have to deal with the examples that you quote above, but where a thread lingers you can end up with several 'Re:' and '[group]' prefixes alternating at the start of a subject. Also, what about foreign language versions of the 're' prefix, or 'fwd', or those clients that numericise the 're' (as in 'Re(3):')?

Generally it's such a mess that two things happen:

1.  'Real' mailing lists drop the group prefix. There are very few mail clients that can't filter based on the sender or 'reply-to' address to make this form of subject prefix obsolete.

2.  the mess is usually ignored. People give up trying to fight it and learn to live with it, even though the hate it. Seriously, it's not worth the effort of trying to script for all the alternatives.

>
> On a similar subject what about people on two lists "crossposting"? The same
> message might appear twice … can we get round this in some way too?

If the messages are in the same folder duplicates can be removed by script. There are basically two methods for doing this - the sender, subject and date tag all match, and the (better IMHO) 'message ID' match.

I wrote a script that uses the latter method - it will detect and delete all duplicates in a folder based on message id. Here it is:

tell application "Microsoft Entourage"
    set theMessages to current messages
    if current messages = {} then
        set theFolder to selection
        if class of theFolder is folder then
            set mb to theFolder
        else
            display dialog "In the folder listing, please select the folder you want to be scanned for duplicates" with icon stop buttons {"Quit"} default button 1
            return -99
            
        end if
    else
        set mb to storage of item 1 of theMessages
    end if
    set theName to name of mb
    say "Removing duplicates from mail folder: " & theName
    set y to count messages of mb
    say "Number of messages to check, " & y
    set IDlist to {}
    repeat with x from y to 1 by -1
        try
            set theHeaders to (get headers of message x of mb)
            set AppleScript's text item delimiters to "Message-"
            set temp to text item 2 of theHeaders
            set AppleScript's text item delimiters to return
            set theID to text 5 through -1 of text item 1 of temp
        on error
            set theID to ""
        end try
        if theID is in my IDlist then
            delete message x of mb
        else if theID � "" then
            copy theID to end of my IDlist
        end if
        if x mod 100 = 0 then say "" & x
    end repeat
    set removedCount to y - (count messages of mb)
    if removedCount is 0 then
        say "Finished. No duplicates detected"
    else
        say "Finished. " & removedCount & " duplicates removed"
    end if
end tell


--
Barry Wainwright
<http://www.barryw.net>


There are two great secrets to success in life.
The first is to not tell everything you know.

Reply via email to