X-Git-Url: https://git.madduck.net/etc/mailfilter.git/blobdiff_plain/0ded21d388f1a04a97b7cbba1845df52aeb555b4..cd2bc185485e45abd146065d542656bbef56d4d1:/procmail/defines diff --git a/procmail/defines b/procmail/defines index a9f8558..a0da9d6 100644 --- a/procmail/defines +++ b/procmail/defines @@ -25,6 +25,7 @@ PROCMAIL="$NICE /usr/bin/procmail -p $PMDIR/procmailrc" FORMAIL="$NICE /usr/bin/formail -f" EGREP="$NICE /bin/egrep" SED="$NICE /bin/sed" +BIN_DATE="/bin/date" DELIVER="$NICE /usr/lib/dovecot/deliver" CRM114="$NICE /usr/share/crm114/mailreaver.crm -u $MAILFILT/crm114/" @@ -32,10 +33,9 @@ SA_PREFS="$MAILFILT/spamassassin/user_prefs" SPAMASSASSIN="$NICE /usr/bin/spamassassin --prefs-file=$SA_PREFS" SPAMC="$NICE /usr/bin/spamc --log-to-stderr --no-safe-fallback" #SPAMC="$SPAMASSASSIN" -TRAINER="$MAILFILT/bin/train" +TRAINER="$NICE $MAILFILT/bin/train" -OURDATE=`date -R` -OURDATE_SHORT=`date +%Y.%m.%d.%H.%M.%N` +SQLITE="$NICE /usr/bin/sqlite3" BASE=$HOME/.maildir @@ -65,17 +65,35 @@ NL=" RE_MYDOMAIN="(.+\.)*madduck\.net" RE_MAILRELAYS="(seamus|clegg)\.madduck\.net" RE_SPACE="[ ]" +RE_NOT_SPACE="[^ ]" RE_SPACE_NEWLINE="(^|$RE_SPACE)" RE_FIRSTNAME="martin($RE_SPACE_NEWLINE+f(\.?|elix))?" RE_LASTNAME="kraff?t" -RE_EXTRACT_HEADER_VALUE="[ ]*\/[^ ].*" +RE_EXTRACT_HEADER_VALUE="$RE_SPACE*\/$RE_NOT_SPACE.*" DEJAVU_HEADER=X-Deja-Vu NULL=/dev/null +DELAYED_QUEUE=$BASE/.delayed/ +TICKLER_QUEUE=$BASE/.tickler/ DISCARD=$BASE/.discard/ +SPAM=$BASE/.spam/ #DISCARD="'|$DELIVER -m BASE.discard'" +DELAY_NEXT_WEEKEND='next sunday 28 hours ago' # fri night, 20:00 +DELAY_TONIGHT='tomorrow 00:00 4 hours ago' # tonight at 20:00 + +OURDATE="`$BIN_DATE +'%s %Y.%m.%d.%H.%M.%N %a, %d %b %Y %T %z'`" +:0 +*$ OURDATE ?? ^\/${RE_NOT_SPACE}+ +{ OURDATE_TS="$MATCH" } +:0 +*$ OURDATE ?? ^[0-9]+${RE_SPACE}+\/${RE_NOT_SPACE}+ +{ OURDATE_SHORT="$MATCH" } +:0 +*$ OURDATE ?? ^[0-9]+${RE_SPACE}+[0-9.]+${RE_SPACE}+\/.+ +{ OURDATE="$MATCH" } + ### variables from the message ### local recipient data @@ -112,7 +130,26 @@ INCLUDERC=$PMDIR/get-msgid :0 *$ ^Subject:$RE_EXTRACT_HEADER_VALUE -{ SUBJECT="$MATCH" } +{ + SUBJECT=$MATCH + +#TODO +# :0 +# * SUBJECT ?? ()\?=\?(iso-8859-1|utf-8)\?\/..[^\?]* +# { +# :0 +# * MATCH ?? B\?\/[^\?]* +# { BBB=`echo $SUBJECT | mimencode -u | cat -v` } +# +# :0 +# * MATCH ?? Q\?\/[^\?]* +# { QQQ=`echo $SUBJECT | mimencode -u -q | cat -v` } +# +# SUBJECT="$QQQ$BBB" +# } + +SUBJECT="$MATCH" +} :0 *$ ^X-Original-To:$RE_EXTRACT_HEADER_VALUE @@ -120,6 +157,18 @@ INCLUDERC=$PMDIR/get-msgid :0 E { LOG="NO ORIGINAL_TO: $MSGID" } +:0 +*$ ^X-Trained-As:$RE_EXTRACT_HEADER_VALUE +{ TRAINED_AS="$MATCH" } + +:0 +*$ ^X-Tickle-Delivered:$RE_EXTRACT_HEADER_VALUE +{ TICKLE_DELIVERED="$MATCH" } + +:0 +*$ ^X-Delayed:$RE_EXTRACT_HEADER_VALUE +{ DELAYED="$MATCH" } + # fix variable values for special cases INCLUDERC=$PMDIR/normalise @@ -181,6 +230,6 @@ RETRAIN # if set, contains reason why justme message was passed JUSTME -# TRAINED_AS -# if set, contains category with which this message has just been trained -TRAINED_AS +# DISABLE_DELAYS +# if set, disables delaying messages +DISABLE_DELAYS