X-Git-Url: https://git.madduck.net/etc/mailfilter.git/blobdiff_plain/43637a4b0d4bd08e3a36155a84b7e3e05c6bd67f..cc054ed56838e1facf493acab38a5f4f65a26104:/procmail/defines diff --git a/procmail/defines b/procmail/defines index bdc3167..218ba89 100644 --- a/procmail/defines +++ b/procmail/defines @@ -117,33 +117,47 @@ ID="$LOGNAME@$HOSTNAME" # message-id INCLUDERC=$PMDIR/get-msgid +:0 +*$ ^From:$RE_EXTRACT_HEADER_VALUE +{ FROM="$MATCH" } + +:0 +*$ FROM ?? ^\/${RE_NOT_SPACE}+@${RE_NOT_SPACE}+ +{ FROMEMAIL="$MATCH" } + +:0 E +* FROM ?? ^.+ <\/[^>]+ +{ FROMEMAIL="$MATCH" } + +:0 E +* FROM ?? ^.+ \(\/[^\)]+ +{ FROMEMAIL="$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 + { SENDER="$FROMEMAIL" } +} :0 *$ ^Date:$RE_EXTRACT_HEADER_VALUE { DATE="$MATCH" } -:0 -*$ ^From:$RE_EXTRACT_HEADER_VALUE -{ FROM="$MATCH" } - :0 *$ ^Subject:$RE_EXTRACT_HEADER_VALUE { SUBJECT=$MATCH - # mimedecode.c: * Disclaimer: We only handle charset of iso-8859-1 :0 - * SUBJECT ?? =\?iso-8859-1\?[QBqb]\?.+\?= + * SUBJECT ?? =\?.+\?[QBqb]\?.+\?= { - DECODED="`echo Subject: $SUBJECT | mimedecode | iconv -f latin1 -t utf-8`" - :0 - *$ DECODED ?? ^Subject:$RE_EXTRACT_HEADER_VALUE - { SUBJECT=$MATCH } + SUBJECT="`PERL_UNICODE=S perl -MEncode=decode -e \"print decode(\\\"MIME-Header\\\", \\\"$SUBJECT\\\") . \\\"\n\\\";\"`" } }