From c3d55a5719b81c63c76cd118f47cd56b68a2be9d Mon Sep 17 00:00:00 2001 From: "martin f. krafft" Date: Mon, 31 Aug 2009 10:42:43 +0200 Subject: [PATCH] improve sender parsing --- procmail/defines | 27 +++++++++++++++++++++------ procmail/logging | 1 + 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/procmail/defines b/procmail/defines index e10d302..32a6e8f 100644 --- a/procmail/defines +++ b/procmail/defines @@ -117,20 +117,35 @@ ID="$LOGNAME@$HOSTNAME" # message-id INCLUDERC=$PMDIR/get-msgid +:0 +*$ ^From:$RE_EXTRACT_HEADER_VALUE +{ FROM="$MATCH" } + # if $SENDER is undefined or not an email address, get it from the message :0 * !SENDER ?? @ -*$ ^Sender:$RE_EXTRACT_HEADER_VALUE -{ SENDER="$MATCH" } +{ + :0 + *$ ^Sender:$RE_EXTRACT_HEADER_VALUE + { SENDER="$MATCH" } + + :0 E + *$ FROM ?? ^\/${RE_NOT_SPACE}+@${RE_NOT_SPACE}+ + { SENDER="$MATCH" } + + :0 E + * FROM ?? ^.+ <\/[^>]+ + { SENDER="$MATCH" } + + :0 E + * FROM ?? ^.+ \(\/[^\)]+ + { SENDER="$MATCH" } +} :0 *$ ^Date:$RE_EXTRACT_HEADER_VALUE { DATE="$MATCH" } -:0 -*$ ^From:$RE_EXTRACT_HEADER_VALUE -{ FROM="$MATCH" } - :0 *$ ^Subject:$RE_EXTRACT_HEADER_VALUE { diff --git a/procmail/logging b/procmail/logging index 7068e4d..67d7712 100644 --- a/procmail/logging +++ b/procmail/logging @@ -37,6 +37,7 @@ LOG="msgid: $MSGID logfile: $THISLOGFILE_REL date: $DATE (@$OURDATE) from: $FROM +sender: $SENDER original-to: $ORIGINAL_TO subject: $SUBJECT$NL" -- 2.39.2