X-Git-Url: https://git.madduck.net/etc/mailfilter.git/blobdiff_plain/67e1e81d0e60d4154ae0d2a34ee0e51a2a5f89c9..288c39b47731e470c4dad5680c01e39f7e61c625:/procmail/deliver

diff --git a/procmail/deliver b/procmail/deliver
index e3db030..af2f70c 100644
--- a/procmail/deliver
+++ b/procmail/deliver
@@ -1,30 +1,43 @@
-VERBOSE=yes
 :0
-*$ $DEST
+*$ DEST ?? ^$NULL$
 {
-  :0
-  * DEST ?? .+[^/]$
-  { DEST="$DEST/" }
+  LOG="deliver:     sending message $MSGID to $DEST$NL"
 
   :0
-  *$ DEST ?? ^$BASE/\.
-  { }
+  $NULL
+}
+
+:0
+* ! DEST ?? .
+{ DEST=/ }
 
-  :0 E
-  *$ DEST ?? ^\.
-  { DEST="$BASE/$DEST" }
+:0
+* DEST ?? .+[^/]$
+{ DEST="$DEST/" }
 
-  :0 E
-  { DEST="$BASE/.$DEST" }
+:0
+*$ DEST ?? ^$BASE/\/.+
+{ DEST="$MATCH" }
 
-  LOG="deliver:     delivering message $MSGID to $DEST$NL"
-  :0
-  $DEST
+: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 E
+: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
 }