On Fri, May 13, 2005 at 10:47:08AM -0500, mark david mcCreary wrote:
Can someone point me to a recipe that will extract pure email
addresses (not the text verbage) from the To and Cc headers.
For example,
To: Joe Schmoo <joe(_at_)schmoo(_dot_)com>, Bob Smith
<bob(_at_)smith(_dot_)org>
Cc: Sam Spade <sam(_at_)spade(_dot_)com>
I want to end up with a procmail variable containing
joe(_at_)schmoo(_dot_)com, bob(_at_)smith(_dot_)org, sam(_at_)spade(_dot_)com
Okay, I figured this out in all-procmail. It's now more than an
hour past my bedtime, so it may well be that this can be further
improved. But here it is. Tested, seems to work:
Hie thee to bed!
[84.169.245.235 -> panix5] {dman} [0.26]
2:56am [~/Mail] 776[0]> cat get-addies.rc
####################### start rcfile "get-addies.rc" #######################
:0
* $ HDRFLD ?? $\MATCH.*\/[$ADDYSET]+(_at_)$AHOST[(_dot_)][a-zA-Z]+
{
STRIPPED_ADDRESSES = "${STRIPPED_ADDRESSES:+$STRIPPED_ADDRESSES, }$MATCH"
SWITCHRC = $_
}
:0
* HDRFLD ?? .
{ SWITCHRC }
HOSTCL = [a-zA-Z0-9-]
AHOST = "($HOSTCL+[.])*$HOSTCL+"
ADDYSET = 'a-zA-Z0-9.=_+-' # sensible set for address part
SPACE = ' '
TAB = ' '
HDRFLDNAME = ${HDRFLDNAME:-To}
:0
* $ ^$HDRFLDNAME:.*\/[^$SPACE$TAB].*
{ HDRFLD = $MATCH }
MATCH
SWITCHRC = $_
######################## end rcfile "get-addies.rc" ########################
--
dman
____________________________________________________________
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