[prev in list] [next in list] [prev in thread] [next in thread]
List: procmail
Subject: Re: Scoring for a header
From: Scott Wiersdorf <scott () perlcode ! org>
Date: 2004-04-28 20:32:45
Message-ID: 20040428203245.GG46775 () perlcode ! org
[Download RAW message or body]
On Wed, Apr 28, 2004 at 01:54:31PM -0600, LuKreme wrote:
> On 28 Apr 2004, at 28d, 11:50, Scott Wiersdorf wrote:
> >In this case, then, you'll get the To: field, even though your
> >original trigger (^Cc:) led into this recipe. You may have to attack
> >this from a different angle to make sure the inner recipe is looking
> >at the same thing you matched:
>
> I want ALL of ^TO_ not To: or Cc: but all the emails in the ^TO_ match
Ah, you'll probably have to break up the ^TO_ macro into its parts to
get them all. Procmail does the shortest and earliest match it can, so
any attempt to "grab it all" with a single regex isn't going to do it
(at least, I can't think of a good way to do it). You might try an
expansion of ^TO_:
:0c
* ^To:(.*[^-a-zA-Z0-9_.])?\/.*
{ TO = $MATCH }
:0c
* ^Cc:(.*[^-a-zA-Z0-9_.])?\/.*
{ CC = $MATCH }
:0c
* ^Bcc:(.*[^-a-zA-Z0-9_.])?\/.*
{ BCC = $MATCH }
:0c
* ^Original-To:(.*[^-a-zA-Z0-9_.])?\/.*
{ OTO = $MATCH }
:0c
* ^Original-Cc:(.*[^-a-zA-Z0-9_.])?\/.*
{ OCC = $MATCH }
:0c
* ^Original-Bcc:(.*[^-a-zA-Z0-9_.])?\/.*
{ OBCC = $MATCH }
:0c
* ^Resent-To:(.*[^-a-zA-Z0-9_.])?\/.*
{ RTO = $MATCH }
:0c
* ^Resent-Cc:(.*[^-a-zA-Z0-9_.])?\/.*
{ RCC = $MATCH }
:0c
* ^Resent-Bcc:(.*[^-a-zA-Z0-9_.])?\/.*
{ RBCC = $MATCH }
:0c
* ^Original-Resent-To:(.*[^-a-zA-Z0-9_.])?\/.*
{ ORTO = $MATCH }
:0c
* ^Original-Resent-Cc:(.*[^-a-zA-Z0-9_.])?\/.*
{ ORCC = $MATCH }
:0c
* ^Original-Resent-Bcc:(.*[^-a-zA-Z0-9_.])?\/.*
{ ORBCC = $MATCH }
:0c
* ^X-Envelope-To:(.*[^-a-zA-Z0-9_.])?\/.*
{ XETO = $MATCH }
:0c
* ^Apparently-To:(.*[^-a-zA-Z0-9_.])?\/.*
{ ATO = $MATCH }
:0c
* ^Apparently-Resent-To:(.*[^-a-zA-Z0-9_.])?\/.*
{ ARTO = $MATCH }
:0
{ ETO = `echo "$TO, $CC, $BCC, $OTO, $OCC, $OBCC, $RTO, $RCC, $RBCC, \
$ORTO, $ORCC, $ORBCC, $XETO, $ATO, $ARTO" | sed 's/[, ] \{1,\}/|/g'` }
Someone else might figure out a clever way to match and delete in a
loop using ^TO_ only, which would be a cool thing.
Scott
--
Scott Wiersdorf
scott@perlcode.org
_______________________________________________
procmail mailing list
procmail@lists.RWTH-Aachen.DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/procmail
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic