procmail
[Top] [All Lists]

Re: Duplicates sent from lists

2004-02-17 09:55:36
On 17 Feb 2004, at 06:08, Dallman Ross wrote:
You already have in that action line above everything you need.
"If LISTNAME exists, this is a list message.  If LISTNAME
doesn't exist but a list is present in the To: or Cc: line,
it's a courtesy copy."

Granted, but that means generating a list of list addresses somewhere. As it stands right now, if I subscribe to a new list, procmail keeps up. I use the same exact .lists_procmailrc file for many different users, because the recipes in it are completely transparent. I should cache the list-post/reply addresses of the lists somewhere and then grep on ^TO_ ?

   COMMON_LISTS_OF_MINE = (foo|bar|procmail)
   :0
   * LISTNAME ?? ^^^^
   * $ ^(^To|Cc):(.*\<)?$COMMON_LISTS_OF_MINE
   { HOST = fscking_courtesy_copy_grumble_grumble }

as I said though:
What I want to avoid is writing a recipe that is specific to the specific mailing list I happen to be subscribed to at the present moment. (The "Holy Grail" of duplicate message handling, perhaps?)

On 17 Feb 2004, at 07:46, Professional Software Engineering wrote:
Despite having the generic list identifier code, I still have per-list rulesets, as messages from certain lists are subjected to additional actions, and are processed in varying order - say, "clean" lists versus "dirty" ones -- lists which support subscriber-only posting and those which let any old moron (or spammer) fire a message off at them, so despite a desire to streamline stuff, I still have a lot of per-list code in my config.

Once LISTNAME is generated I do have a INCLUDERC on my list subscription address (this one) to do things like add Reply-To: LIST headers to lists that don't have them, or mark messages to a list I archive as already read (unless my domain appears in the References), but this is OK because I am willing to take special action for those very few lists since they are lists I read the most (this one, for example). In short, I don't mind having specific recipes for specific lists, but trying to write a generic recipe that affects all my lists and yet has to refer to each list specifically... well, that seems wrong.

But most lists are set to send replies to the list and don't need special processing.

I think the only solution I see without a COMMON_LISTS_OF_MINE sort of solution is something like this:

[ LISTNAME stuff up here ]

:0
* LISTNAME ?? ^^^^
* -1
* 1^1 ^TO@
{
  :0 fw
  | formail -I"Status: RO"

  :0:
  dupemail
}

[ msgid.cache check ]

or something.

(not that I've tested that, and frankly, I suspect both the scoring and the "^TO@" are wrong, c'ast la vie)


--
"Don't be nice.  It's Creepy."  Tendo Akane


_______________________________________________
procmail mailing list
procmail(_at_)lists(_dot_)RWTH-Aachen(_dot_)DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail

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