X-Git-Url: https://git.madduck.net/etc/mailfilter.git/blobdiff_plain/18ac4f995c4d175bc636fdd78919a18e131afdcf..122f13badd406cf378fb4f57197d27ddebb4d15b:/procmail/delay-delivery

diff --git a/procmail/delay-delivery b/procmail/delay-delivery
index c1ca0c0..65f02e5 100644
--- a/procmail/delay-delivery
+++ b/procmail/delay-delivery
@@ -1,16 +1,22 @@
-# create table messages (msgid text unique not null, filename text
-# primary key not null unique, release_ts integer not null);
-
 #TODO: create config/delay-(disabled|tonight|weekend)
 
 :0
-* DELAY ?? .
-* ! DELAYED ?? .
+* POSTPONED ?? .
 {
-  :0
-  * DELAY ?? ^[0-9]
-  { DELAY="now + $DELAY" }
+  LOG="delay:       not delaying already-postponed message$NL"
+  :0 fw
+  |$FORMAIL -R X-Postponed X-Was-Postponed
+}
+
+:0 E
+* DISABLE_DELAYS ?? .
+{
+  LOG="delay:       delays disabled, thus not delaying$NL"
+}
 
+:0 E
+* DELAY ?? .
+{
   #TODO: for tickling, use header date
   RELEASE="`$BIN_DATE -d \"$DELAY\" +'%s %c'`"
 
@@ -28,19 +34,10 @@
 
     LOG="delay:       delay delivery of $MSGID until $RELEASE_TIME$NL"
 
-    DELAYED_QUEUE_DB=$PMVAR/delayed-queue.sqlite
-    DO_QUERY="$SQLITE $DELAYED_QUEUE_DB"
-
-    DATA="$MSGID"
-    INCLUDERC=$PMDIR/sql-escape
-
-    Q="insert into messages values
-      ($DATA, '\\'\$DESTFILE\\'', $RELEASE_TS)"
-    TRAP="$TRAP; $DO_QUERY '$Q'"
-
     :0 fw
-    |$FORMAIL -I "X-Delayed: $RELEASE_TS ($RELEASE_TIME)"
+    |$FORMAIL -I"X-Postponed: $RELEASE_TS ($RELEASE_TIME)"
 
+    INCLUDERC=$PMDIR/record-delayed-mail
     :0
     $DELAYED_QUEUE
   }