X-Git-Url: https://git.madduck.net/etc/mailfilter.git/blobdiff_plain/cfe663608f803381baba0f83e392fb6270f266b6..4d23c229a250dde7ad1a46cab52448f07f153f3e:/procmail/defines diff --git a/procmail/defines b/procmail/defines index e10d302..07482cd 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 @@ -86,7 +87,7 @@ 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 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,20 +118,43 @@ 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 { @@ -223,6 +247,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