X-Git-Url: https://git.madduck.net/etc/mailfilter.git/blobdiff_plain/89f701e747fdcb7fbbf09e1ad3c4a904d021db33..60fe2cf976619c3621b2f6aaffaa745c32d18d17:/procmail/deliver

diff --git a/procmail/deliver b/procmail/deliver
index 168ccdf..af2f70c 100644
--- a/procmail/deliver
+++ b/procmail/deliver
@@ -1,3 +1,12 @@
+:0
+*$ DEST ?? ^$NULL$
+{
+  LOG="deliver:     sending message $MSGID to $DEST$NL"
+
+  :0
+  $NULL
+}
+
 :0
 * ! DEST ?? .
 { DEST=/ }
@@ -11,16 +20,24 @@
 { DEST="$MATCH" }
 
 :0
-*$ DEST ?? ^\.
-{ }
-
-:0 E
+*$ ! DEST ?? ^\.
 { DEST=".$DEST" }
 
-TRAP="DEST=\"\${LASTFOLDER#$BASE/}\";
-      echo \"delivered:   \$DEST\" >> '$THISLOGFILE';
-      $TRAP"
+: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\""
+}
 
-LOG="deliver:     delivering message $MSGID to $DEST$NL"
 :0
-$BASE/$DEST
+{
+  LOG="deliver:     delivering message $MSGID to $DEST$NL"
+  TRAP="$TRAP; echo \"delivered:   \$DESTFILE\" >> '$THISLOGFILE'"
+
+  :0
+  $BASE/$DEST
+}