X-Git-Url: https://git.madduck.net/etc/mailfilter.git/blobdiff_plain/0bdaf799927d3d663247f2506f23f28497dbdd37..c3d55a5719b81c63c76cd118f47cd56b68a2be9d:/procmail/defines diff --git a/procmail/defines b/procmail/defines index 55508cb..32a6e8f 100644 --- a/procmail/defines +++ b/procmail/defines @@ -23,7 +23,9 @@ LC_CTYPE=de_CH.UTF-8 PROCMAIL="$NICE /usr/bin/procmail -p $PMDIR/procmailrc" FORMAIL="$NICE /usr/bin/formail -f" +GREP="$NICE /bin/grep" EGREP="$NICE /bin/egrep" +FGREP="$NICE /bin/fgrep" SED="$NICE /bin/sed" BIN_DATE="/bin/date" DELIVER="$NICE /usr/lib/dovecot/deliver" @@ -80,9 +82,9 @@ 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 9 hours ago' # todat at 15: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'`" :0 @@ -115,33 +117,44 @@ 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 { SUBJECT=$MATCH - # mimedecode.c: * Disclaimer: We only handle charset of iso-8859-1 :0 - * SUBJECT ?? ^=\?iso-8859-1\?[QB]\?.+\?=$ + * 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\\\";\"`" } } @@ -150,7 +163,7 @@ INCLUDERC=$PMDIR/get-msgid { ORIGINAL_TO="$MATCH" } :0 E * ^Received: -{ LOG="NO ORIGINAL_TO: $MSGID" } +{ LOGLATER="NO ORIGINAL_TO: $MSGID" } :0 *$ ^X-Trained-As:$RE_EXTRACT_HEADER_VALUE @@ -224,3 +237,20 @@ JUSTME # DISABLE_DELAYS # if set, disables delaying messages DISABLE_DELAYS + +# DELAY +# argument to /bin/date -d to indicate a message delay. This is overridden by +# RELEASE +DELAY + +# RELEASE +# /bin/date time expression indicating the time at which a message is to be +# 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