X-Git-Url: https://git.madduck.net/etc/mailfilter.git/blobdiff_plain/4a3212dc350e8b9584823bf603e3eb71a7528cae..90e7c2b254d33d781ed8f9932713a2edbb775fae:/procmail/deliver

diff --git a/procmail/deliver b/procmail/deliver
index 7a7b9a9..af2f70c 100644
--- a/procmail/deliver
+++ b/procmail/deliver
@@ -1,14 +1,43 @@
 :0
-*$ $DEST
+*$ DEST ?? ^$NULL$
 {
-  LOG="deliver:     delivering message $MSGID to $DEST$NL"
+  LOG="deliver:     sending message $MSGID to $DEST$NL"
+
   :0
-  $DEST
+  $NULL
 }
 
-:0 E
+:0
+* ! DEST ?? .
+{ DEST=/ }
+
+:0
+* DEST ?? .+[^/]$
+{ DEST="$DEST/" }
+
+:0
+*$ DEST ?? ^$BASE/\/.+
+{ DEST="$MATCH" }
+
+:0
+*$ ! DEST ?? ^\.
+{ DEST=".$DEST" }
+
+:0
+* MARK_READ ?? .
+{
+  LOG="deliver:     marking messages $MSGID as read because of $MARK_READ$NL"
+  TRAP="$TRAP; BASENAME=\"\${DESTFILE##*/}:2,S\""
+  TRAP="$TRAP; DIRNAME=\"\${DESTFILE%/new/*}/cur\""
+  TRAP="$TRAP; DESTFILE=\"\$DIRNAME/\$BASENAME\""
+  TRAP="$TRAP; mv \"\$LASTFOLDER\" \"$BASE/\$DESTFILE\""
+}
+
+:0
 {
-  LOG="deliver:     delivering message $MSGID to default destination$NL"
+  LOG="deliver:     delivering message $MSGID to $DEST$NL"
+  TRAP="$TRAP; echo \"delivered:   \$DESTFILE\" >> '$THISLOGFILE'"
+
   :0
-  $DEFAULT
+  $BASE/$DEST
 }