##### lm_majordomo.rc # # Resource file for procmail. # Filters list messages from lists handled by majordomo. # # Variables, in (set before calling): # LISTNAME list name (between [...] in Subject:); # LISTEMAIL address of list (leave out part after @ and any generic # parts like -return); defaults to LISTNAME # LISTSERVERDOMAIN domain of the list server handling this list # (the part after @) # LISTFOLDER where to store email if it's from this list; # nothing will be stored if this is empty # LISTFOLDER_UMASK if set, umask to use when saving to LISTFOLDER # Variables, returned: # ISTHISLIST set to "1" if email is from this list, unset otherwise # LISTEMAIL unset # # Run with e.g.: # LISTNAME="Weather Discussion" # LISTEMAIL="weatherdisc" # LISTFOLDER=somepath/weather-List # INCLUDERC=yourpath/lm_majordomo.rc # in your $HOME/.procmailrc (you can leave out LISTEMAIL if it's the same as # LISTNAME). # # The latest version is always available from: # http://volker.dnsalias.net/soft/procmail/ # # Copyright (C) by Volker Kuhlmann # Released under the terms of the GNU General Public License (GPL) Version 2. # See http://www.gnu.org/ for details. # # Volker Kuhlmann # 12, 13, 16, 25 Apr; 2, 5, 7 May; 31 Jul; 8, 25 Aug 2002 # 27 Jan; 21 Mar; 30 Dec 2003 # 29 Jan; 8 Jul 2004 # 10 Nov 2005 # 14 Jan 2006 # # dwelle.de 12Apr02 # mutt-(announce|dev|users) admin mail has no Sender: 16Apr02 # mutt-users list has sender-person in From: 16Apr02 # announce@nedit.org admin has no Sender: 16Apr02 # announce@nedit.org admin has no list name in Subject: 16Apr02 # announce@nedit.org list has no list name in Sender: 16Apr02 # announce@nedit.org list has sender-person in From: 16Apr02 # announce@nedit.org list has subscriberemail in Delivered-to: 16Apr02 # adsl@lists.unixathome.org has no Delivered-to: 25Apr02 # cert-advisory@cert.org list has no Sender: 02May02 # cert-advisory@cert.org has no Delivered-to: 02May02 ## LISTEMAIL defaults to LISTNAME :0 * LISTEMAIL ?? ^^^^ { LISTEMAIL=$LISTNAME } ## Set ISTHISLIST if match occurs ISTHISLIST= # admin: :0 * $ ^From (majordomo|(majordomo|$LISTEMAIL)-owner[^@]*|owner-$LISTEMAIL|webmaster|nobody)@$LISTSERVERDOMAIN * $ ^From:[ ]*($LISTEMAIL-owner|owner-$LISTEMAIL|majordomo(|-owner))@$LISTSERVERDOMAIN #* $ ^Sender: (Majordomo-Owner|owner-$LISTEMAIL)@$LISTSERVERDOMAIN { :0 * $ ^Subject:.*($LISTEMAIL|$LISTNAME) { ISTHISLIST=1 } :0 B * $ subscribe $LISTEMAIL { ISTHISLIST=1 } } # list: :0 #* $ ^From (owner-$LISTEMAIL(|-[^@]*)|$LISTEMAIL(|-owner[^@]*))@$LISTSERVERDOMAIN * $ ^From [^ $TAB]+@$LISTSERVERDOMAIN #* $ ^From: .*$LISTEMAIL@$LISTSERVERDOMAIN #* $ ^Sender: owner-$LISTEMAIL@$LISTSERVERDOMAIN #* $ (^Delivered-To: $LISTEMAIL@[a-z0-9._-]*$LISTSERVERDOMAIN|^TO_$LISTEMAIL@$LISTSERVERDOMAIN) # must be (^..|^TO_..), *not* ^(..|TO_..) !! * $ 1^0 ^Sender:.*(owner-$LISTEMAIL|$LISTEMAIL-owner)@$LISTSERVERDOMAIN * $ 1^0 ^Delivered-To: $LISTEMAIL@[a-z0-9._-]*$LISTSERVERDOMAIN * $ 1^0 ^TO_$LISTEMAIL@$LISTSERVERDOMAIN * $ 1^0 ^List-Owner:.*$LISTEMAIL(|-[^@]*)@$LISTSERVERDOMAIN * $ 1^0 ^From:.*$LISTEMAIL@$LISTSERVERDOMAIN * $ 1^0 ^Reply-To:.*$LISTEMAIL@$LISTSERVERDOMAIN * $ 1^0 ^X-(Mailing-List|Listname):.*$LISTNAME * -1^0 . { ISTHISLIST=1 } ## If match occurred and LISTFOLDER is set, save to LISTFOLDER :0 * ISTHISLIST ?? ^^1^^ * ! LISTFOLDER ?? ^^^^ { :0 * ! LISTFOLDER_UMASK ?? ^^^^ { UMASK=$LISTFOLDER_UMASK } :0 : $LISTFOLDER } LISTEMAIL= ##### EOF lm_majordomo.rc