X-Git-Url: https://git.madduck.net/etc/mailfilter.git/blobdiff_plain/b3ea0fd168c4c7262299c36544f36fe49b742b66..b14949d40b7be98a0eeba0a7da5af62a029aaa64:/procmail/defines diff --git a/procmail/defines b/procmail/defines index 715f82d..bb07680 100644 --- a/procmail/defines +++ b/procmail/defines @@ -72,6 +72,7 @@ RE_SPACE_NEWLINE="(^|$RE_SPACE)" RE_FIRSTNAME="martin($RE_SPACE_NEWLINE+f(\.?|elix))?" RE_LASTNAME="kraff?t" RE_EXTRACT_HEADER_VALUE="$RE_SPACE*\/$RE_NOT_SPACE.*" +RE_EMAILADDRESS="${RE_NOT_SPACE}+@${RE_NOT_SPACE}+\.[^ >]+" DEJAVU_HEADER=X-Deja-Vu @@ -82,11 +83,11 @@ DISCARD=$BASE/.discard/ SPAM=$BASE/.spam/ #DISCARD="'|$DELIVER -m BASE.discard'" -DELAY_NEXT_WEEKEND='next sunday 30 hours ago' # fri night, 18:00 +DELAY_NEXT_WEEKEND='next sunday 28 hours ago' # fri night, 20:00 DELAY_TONIGHT='tomorrow 00:00 4 hours ago' # tonight at 20:00 -DELAY_AFTERNOON='tomorrow 00:00 5 hours ago' # today at 19:00 +DELAY_AFTERNOON='tomorrow 00:00 8 hours ago' # today at 16:00 -OURDATE="`$BIN_DATE +'%s %Y.%m.%d.%H.%M.%N %a, %d %b %Y %T %z'`" +OURDATE="`$BIN_DATE +'%s %Y%m%d.%H%M.%N %a, %d %b %Y %T %z'`" :0 *$ OURDATE ?? ^\/${RE_NOT_SPACE}+ { OURDATE_TS="$MATCH" } @@ -117,33 +118,53 @@ ID="$LOGNAME@$HOSTNAME" # message-id INCLUDERC=$PMDIR/get-msgid +:0 +*$ ^From:$RE_EXTRACT_HEADER_VALUE +{ FROM="$MATCH" } + +:0 +* FROM ?? ^.+<\/.+@[^>]+ +{ FROMEMAIL="$MATCH" } + +:0 E +* FROM ?? ^.+\(\/.+@[^\)]+ +{ FROMEMAIL="$MATCH" } + +:0 E +*$ FROM ?? ^\/$RE_EMAILADDRESS +{ FROMEMAIL="$MATCH" } + +:0 +* FROMEMAIL ?? ^".+"$ +* FROMEMAIL ?? ^"\/[^"]+ +{ 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 + 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\\\";\"`" + SUBJECT_ENCODED="$MATCH" } } @@ -227,6 +248,14 @@ JUSTME # if set, disables delaying messages DISABLE_DELAYS +:0 +* ? test -e $HOME/procmail.nodelays +{ DISABLE_DELAYS=true } + +# TZ +# used to alter the timezone for delay calculations +#TZ=Pacific/Auckland + # DELAY # argument to /bin/date -d to indicate a message delay. This is overridden by # RELEASE @@ -237,4 +266,9 @@ DELAY # released. Overrides DELAY. RELEASE +# MARK_READ +# when set, causes mails to be marked as read when delivered. Can be +# initialised with DELIVER_READ +MARK_READ=$DELIVER_READ + # vim:ft=procmail