]>
git.madduck.net Git - etc/mailfilter.git/blobdiff - procmail/defines
madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@ git. madduck. net .
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged .
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
PROCMAIL="$NICE /usr/bin/procmail -p $PMDIR/procmailrc"
FORMAIL="$NICE /usr/bin/formail -f"
PROCMAIL="$NICE /usr/bin/procmail -p $PMDIR/procmailrc"
FORMAIL="$NICE /usr/bin/formail -f"
+FGREP="$NICE /bin/fgrep"
DELIVER="$NICE /usr/lib/dovecot/deliver"
CRM114="$NICE /usr/share/crm114/mailreaver.crm -u $MAILFILT/crm114/"
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
# 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
# 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/
NULL=/dev/null
DELAYED_QUEUE=$BASE/.delayed/
-TICKLER_QUEUE=$BASE/.tickler /
+TICKLER_QUEUE=$BASE/.store /
#DISCARD="'|$DELIVER -m BASE.discard'"
#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
+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
*$ OURDATE ?? ^\/${RE_NOT_SPACE}+
{ OURDATE_TS="$MATCH" }
: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}+\/${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}+\/. +
-DELAY_NEXT_WEEKEND='next monday 54 hours ago' # fri night, 18:00 CET
-DELAY_TONIGHT='tomorrow 00:00 6 hours ago' # tonight at 18:00 CET
-
### variables from the message
### local recipient data
### variables from the message
### local recipient data
# message-id
INCLUDERC=$PMDIR/get-msgid
# message-id
INCLUDERC=$PMDIR/get-msgid
+:0
+*$ ^From:$RE_EXTRACT_HEADER_VALUE
+{ FROM="$MATCH" }
+
+:0
+*$ FROM ?? ^\/${RE_NOT_SPACE}+@${RE_NOT_SPACE}+
+{ FROMEMAIL="$MATCH" }
+
+:0 E
+* FROM ?? ^.+ <\/[^>]+
+{ FROMEMAIL="$MATCH" }
+
+:0 E
+* FROM ?? ^.+ \(\/[^\)]+
+{ FROMEMAIL="$MATCH" }
+
# if $SENDER is undefined or not an email address, get it from the message
:0
* !SENDER ?? @
# 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
*$ ^Date:$RE_EXTRACT_HEADER_VALUE
{ DATE="$MATCH" }
-:0
-*$ ^From:$RE_EXTRACT_HEADER_VALUE
-{ FROM="$MATCH" }
-
:0
*$ ^Subject:$RE_EXTRACT_HEADER_VALUE
:0
*$ ^Subject:$RE_EXTRACT_HEADER_VALUE
+{
+ SUBJECT=$MATCH
+
+ :0
+ * SUBJECT ?? =\?.+\?[QBqb]\?.+\?=
+ {
+ SUBJECT="`PERL_UNICODE=S perl -MEncode=decode -e \"print decode(\\\"MIME-Header\\\", \\\"$SUBJECT\\\") . \\\"\n\\\";\"`"
+ }
+}
:0
*$ ^X-Original-To:$RE_EXTRACT_HEADER_VALUE
{ ORIGINAL_TO="$MATCH" }
:0 E
:0
*$ ^X-Original-To:$RE_EXTRACT_HEADER_VALUE
{ ORIGINAL_TO="$MATCH" }
:0 E
-{ LOG="NO ORIGINAL_TO: $MSGID" }
+* ^Received:
+{ LOGLATER="NO ORIGINAL_TO: $MSGID" }
:0
*$ ^X-Trained-As:$RE_EXTRACT_HEADER_VALUE
{ TRAINED_AS="$MATCH" }
:0
: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" }
+*$ ^X-Postponed:$RE_EXTRACT_HEADER_VALUE
+{ POSTPONED="$MATCH" }
# fix variable values for special cases
INCLUDERC=$PMDIR/normalise
# fix variable values for special cases
INCLUDERC=$PMDIR/normalise
# JUSTME
# if set, contains reason why justme message was passed
JUSTME
# JUSTME
# if set, contains reason why justme message was passed
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