]>
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:
#SPAMC="$SPAMASSASSIN"
TRAINER="$NICE $MAILFILT/bin/train"
#SPAMC="$SPAMASSASSIN"
TRAINER="$NICE $MAILFILT/bin/train"
+VACATION="$NICE /usr/bin/vacation"
+
SQLITE="$NICE /usr/bin/sqlite3"
BASE=$HOME/.maildir
SQLITE="$NICE /usr/bin/sqlite3"
BASE=$HOME/.maildir
NL="
"
RE_MYDOMAIN="(.+\.)*madduck\.net"
NL="
"
RE_MYDOMAIN="(.+\.)*madduck\.net"
-RE_MAILRELAYS="(seamus|clegg)\.madduck\.net"
+RE_MAILRELAYS="(seamus|swan| 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_SPACE*\/$RE_NOT_SPACE.*"
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_SPACE*\/$RE_NOT_SPACE.*"
+RE_EMAILADDRESS="${RE_NOT_SPACE}+@${RE_NOT_SPACE}+\.[^ >]+"
DELAY_TONIGHT='tomorrow 00:00 4 hours ago' # tonight at 20:00
DELAY_AFTERNOON='tomorrow 00:00 8 hours ago' # today at 16: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'`"
+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" }
# message-id
INCLUDERC=$PMDIR/get-msgid
# 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 ?? @
# 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
{
- # mimedecode.c: * Disclaimer: We only handle charset of iso-8859-1
- * SUBJECT ?? =\?iso-8859-1 \?[QBqb]\?.+\?=
+ * 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\\\";\"`"
+ SUBJECT_ENCODED="$MATCH"
# DISABLE_DELAYS
# if set, disables delaying messages
# DISABLE_DELAYS
# if set, disables delaying messages
+DISABLE_DELAYS
+
+:0
+* ? test -e $HOME/procmail.nodelays
+{ DISABLE_DELAYS=true }
+
+# TZ
+# used to alter the timezone for delay calculations
+#TZ=Pacific/Auckland
# DELAY
# argument to /bin/date -d to indicate a message delay. This is overridden by
# DELAY
# argument to /bin/date -d to indicate a message delay. This is overridden by