X-Git-Url: https://git.madduck.net/etc/mailfilter.git/blobdiff_plain/2fe122be2f3654cdb90e54d784d4eee8f5058879..d041bd3b95e8e7372a2ad197c94c920a648a4b6b:/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 +}