X-Git-Url: https://git.madduck.net/etc/mailfilter.git/blobdiff_plain/2fe122be2f3654cdb90e54d784d4eee8f5058879..43637a4b0d4bd08e3a36155a84b7e3e05c6bd67f:/procmail/delay-delivery

diff --git a/procmail/delay-delivery b/procmail/delay-delivery
index e69de29..339e3b6 100644
--- a/procmail/delay-delivery
+++ b/procmail/delay-delivery
@@ -0,0 +1,56 @@
+#TODO: create config/delay-(disabled|tonight|weekend)
+
+:0
+* POSTPONED ?? .
+{
+  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
+* ! TICKLE ?? .
+* ? echo "$SENDER" | $EGREP -qif $CONF/undelayed-senders
+{
+  LOG="delay:       do not delay mail from $SENDER$NL"
+}
+
+:0 E
+* 1^0 DELAY ?? .
+* 1^0 RELEASE ?? .
+{
+  :0
+  * ! RELEASE ?? .
+  { RELEASE="`$BIN_DATE -d \"$DELAY\" +'%s (%c)'`" }
+  DELAY
+
+  :0
+  *$ RELEASE ?? ^\/${RE_NOT_SPACE}+
+  { RELEASE_TS=$MATCH }
+
+  :0
+  *$  $RELEASE_TS ^0
+  *$ -$OURDATE_TS ^0
+  {
+    :0
+    *$ RELEASE ?? ^[0-9]+${RE_SPACE}+\(\/[^)]+
+    { RELEASE_TIME="$MATCH" }
+
+    LOG="delay:       delay delivery of $MSGID until $RELEASE_TIME$NL"
+
+    RELEASE_TIME
+
+    :0 fw
+    |$FORMAIL -I"X-Postponed: $RELEASE"
+
+    :0
+    $DELAYED_QUEUE
+  }
+  RELEASE_TS
+}