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/"
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
"
RE_MYDOMAIN="(.+\.)*madduck\.net"
RE_MAILRELAYS="(seamus|clegg)\.madduck\.net"
-RE_SPACE_NEWLINE="(^|[ ])"
+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/
#DISCARD="'|$DELIVER -m BASE.discard'"
+DELAY_NEXT_WEEKEND='next sunday 30 hours ago' # fri night, 18:00
+DELAY_TONIGHT='tomorrow 00:00 6 hours ago' # tonight at 18: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
: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
# JUSTME
# 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