procmail
[Top] [All Lists]

Re: Question about mailing lists

2007-08-15 12:26:27
* Professional Software Engineering 
<PSE-L(_at_)mail(_dot_)professional(_dot_)org> [2007-08-15 00:39 +0200]:
At 23:50 2007-08-14 +0200, David J. Weller-Fahy wrote:
The recipe uses SCORING (see 'man procmailsc') with a 'maximal'
result, causing any match to instantly treat the recipe as true,
without needing to check any of the other conditions.

Ok, cool.  The bit of information I was missing was the 'maximal' result
part, now it makes sense.

The series of conditions is intended to whittle down the MATCH to
something which is just a LISTNAME, without other tokens (like -owner,
or -s*bscribe, -request, etc).

So, if we assume a header of
List-Subscribe: blah-blah-blah 
<mailto:froob-list-subscribe(_at_)example(_dot_)com>

And conditions
* ^List-Subscribe:.*<mailto:\/[-A-Z0-9_+]+-(digest|on|subscribe)@
* MATCH ?? ^^\/.+-
* MATCH ?? ^^\/.+[^-]

Then...
The first condition will place 'froob-list-subscribe' in MATCH.
The second condition will place 'froob-list-' in MATCH.
The third condition will place 'froob-list' in MATCH.

Correct?  Hope so.

As stated before the second recipe, "taht didn't work."

Old typo version you're using as a source.  The comment means that the
series of conditions, which really should match most lists didn't seem
to do it, so, in case it's some other type of list, try the next set
of conditions.

Sorry, I should have thrown a smiley in there.  I understood that part,
and was using the old misspelling in what I thought was a humorous way
to indicate that the recipe did not catch all my tests. ;]

You can test it easily enough - set it up in a sandbox, invoke the
recipe, then right afterward, take every message where LISTNAME isn't
set, and store it to a file:

[snips]

Works really well if your saved mail corpus is all known list mail...

And that's what I did.  I copied one list email from every list I've
subscribed to (both those I'm a current subscriber of, and those I've
left), and ran them all through only that recipe (or, rather, the two
recipes).

As I discovered today, though, I accidentally included three non-list
messages that were in my list mailboxes. <rueful grin>

After cleaning those out (and double checking the other emails) I've
only found one that your recipe did not catch.  The only mailing list
indicator I found in the headers was the following.

Sender: Resnet Forum <RESNET-L(_at_)listserv(_dot_)nd(_dot_)edu>

I adjusted the relevant rule from
* 9876543210^0 ^Sender:.* List"? <(mailto:)?\/[-A-Z0-9_+]+
to
* 9876543210^0 ^Sender:.* (Forum|List)"? <(mailto:)?\/[-A-Z0-9_+]+
and now it catches that list as well.

The other thing I noticed while retesting is that the above condition
will place 'mailto' in MATCH when using the following header.  Sender:
Resnet Forum <mailto:RESNET-L(_at_)listserv(_dot_)nd(_dot_)edu>

I haven't noticed that format in any of my mailing lists, but figured
I'd let you know.

After a bit of testing, did you determine whether any of your test
messages were not identified by the prior recipe, or are you just
looking to reinvent the wheel?

Covered previously: Apparently I was looking to reinvent the wheel.

x-(beenthere|loop):[$WS]*\

BBBZZZZT.

X-Loop: is used a lot as a default loop catcher in procmail recipes
for autoreplies and forwards.  It is *NOT* indicative of list
messages.  I must admit I have not spent much time examining the rest
of your conditions - but that one leaps out as an error.

This is good to know, thanks.

I think I'll slink off and read the man pages again. ;]
-- 
dave [ please don't CC me ]
____________________________________________________________
procmail mailing list   Procmail homepage: http://www.procmail.org/
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail

<Prev in Thread] Current Thread [Next in Thread>