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/"
# if crm114 is unsure and SA returns a score less-than-or-equal to this,
# autotrain crm114 with ham
-CRM_UNSURE_SA_AUTOTRAIN_LIMIT_HAM=2.0
+CRM_UNSURE_SA_AUTOTRAIN_LIMIT_HAM=0.0
# if crm114 classifies a message as spam but SA returns a score
# less-than-or-equal to this, retrain crm114
CRM_MISCLASSIFY_SA_AUTOTRAIN_LIMIT_HAM=-1.0
NULL=/dev/null
DELAYED_QUEUE=$BASE/.delayed/
-TICKLER_QUEUE=$BASE/.tickler/
+TICKLER_QUEUE=$BASE/.store/
DISCARD=$BASE/.discard/
+SPAM=$BASE/.spam/
#DISCARD="'|$DELIVER -m BASE.discard'"
-OURDATE="`date +'%s %Y.%m.%d.%H.%M.%N %a, %d %b %Y %T %z'`"
+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" }
*$ OURDATE ?? ^[0-9]+${RE_SPACE}+\/${RE_NOT_SPACE}+
{ OURDATE_SHORT="$MATCH" }
:0
-*$ OURDATE ?? ^[0-9]+${RE_SPACE}+[0-9.]+${RE_SPACE}+\/${RE_NOT_SPACE}+
+*$ OURDATE ?? ^[0-9]+${RE_SPACE}+[0-9.]+${RE_SPACE}+\/.+
{ OURDATE="$MATCH" }
### variables from the message
: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\?[QB]\?.+\?=$
+ {
+ DECODED="`echo Subject: $SUBJECT | mimedecode | iconv -f latin1 -t utf-8`"
+ :0
+ *$ DECODED ?? ^Subject:$RE_EXTRACT_HEADER_VALUE
+ { SUBJECT=$MATCH }
+ }
+}
:0
*$ ^X-Original-To:$RE_EXTRACT_HEADER_VALUE
{ ORIGINAL_TO="$MATCH" }
:0 E
+* ^Received:
{ LOG="NO ORIGINAL_TO: $MSGID" }
:0
{ TRAINED_AS="$MATCH" }
:0
-*$ ^X-Tickle-Delivered:$RE_EXTRACT_HEADER_VALUE
-{ TICKLE_DELIVERED="$MATCH" }
-
-:0
-*$ ^X-Delayed:$RE_EXTRACT_HEADER_VALUE
-{ DELAYED="$MATCH" }
+*$ ^X-Postponed:$RE_EXTRACT_HEADER_VALUE
+{ POSTPONED="$MATCH" }
# fix variable values for special cases
INCLUDERC=$PMDIR/normalise
# JUSTME
# if set, contains reason why justme message was passed
JUSTME
+
+# DISABLE_DELAYS
+# if set, disables delaying messages
+DISABLE_DELAYS