PROCMAIL="$NICE /usr/bin/procmail -p $PMDIR/procmailrc"
FORMAIL="$NICE /usr/bin/formail -f"
+GREP="$NICE /bin/grep"
EGREP="$NICE /bin/egrep"
+FGREP="$NICE /bin/fgrep"
SED="$NICE /bin/sed"
BIN_DATE="/bin/date"
DELIVER="$NICE /usr/lib/dovecot/deliver"
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
SPAM=$BASE/.spam/
#DISCARD="'|$DELIVER -m BASE.discard'"
-DELAY_NEXT_WEEKEND='next sunday 30 hours ago' # fri night, 18:00
+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 9 hours ago' # todat at 15: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
# 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
{
SUBJECT=$MATCH
- # mimedecode.c: * Disclaimer: We only handle charset of iso-8859-1
:0
- * SUBJECT ?? ^=\?iso-8859-1\?[QB]\?.+\?=$
+ * SUBJECT ?? =\?.+\?[QBqb]\?.+\?=
{
- DECODED="`echo Subject: $SUBJECT | mimedecode | iconv -f latin1 -t utf-8`"
- :0
- *$ DECODED ?? ^Subject:$RE_EXTRACT_HEADER_VALUE
- { SUBJECT=$MATCH }
+ SUBJECT="`PERL_UNICODE=S perl -MEncode=decode -e \"print decode(\\\"MIME-Header\\\", \\\"$SUBJECT\\\") . \\\"\n\\\";\"`"
}
}
{ ORIGINAL_TO="$MATCH" }
:0 E
* ^Received:
-{ LOG="NO ORIGINAL_TO: $MSGID" }
+{ LOGLATER="NO ORIGINAL_TO: $MSGID" }
:0
*$ ^X-Trained-As:$RE_EXTRACT_HEADER_VALUE
# 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