X-Git-Url: https://git.madduck.net/etc/mailfilter.git/blobdiff_plain/788ea8914a78296e6ef98a9be37a67485c34d32b..864bba9e27d4b47043898efaa709281986ba36ff:/procmail/delay-delivery diff --git a/procmail/delay-delivery b/procmail/delay-delivery index 3817715..9e8e02a 100644 --- a/procmail/delay-delivery +++ b/procmail/delay-delivery @@ -1,15 +1,27 @@ #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 +} - #TODO: for tickling, use header date - RELEASE="`$BIN_DATE -d \"$DELAY\" +'%s %c'`" +:0 E +* DISABLE_DELAYS ?? . +{ + LOG="delay: delays disabled, thus not delaying$NL" +} + +:0 E +* 1^0 DELAY ?? . +* 1^0 RELEASE ?? . +{ + :0 + * ! RELEASE ?? . + { RELEASE="`$BIN_DATE -d \"$DELAY\" +'%s (%c)'`" } + DELAY :0 *$ RELEASE ?? ^\/${RE_NOT_SPACE}+ @@ -20,17 +32,19 @@ *$ -$OURDATE_TS ^0 { :0 - *$ RELEASE ?? ^[0-9]+${RE_SPACE}+\/.+ + *$ 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-Delayed: $RELEASE_TS ($RELEASE_TIME)" + |$FORMAIL -I"X-Postponed: $RELEASE" INCLUDERC=$PMDIR/record-delayed-mail - :0 $DELAYED_QUEUE } + RELEASE_TS }