X-Git-Url: https://git.madduck.net/etc/mailfilter.git/blobdiff_plain/98cee263303225880082bf968764b951bfe03ede..0c16b401e7aa24c05c875f709707f438713552fb:/procmail/delay-delivery diff --git a/procmail/delay-delivery b/procmail/delay-delivery index 38f7c4e..a725164 100644 --- a/procmail/delay-delivery +++ b/procmail/delay-delivery @@ -3,16 +3,32 @@ :0 * POSTPONED ?? . { + LOG="delay: not delaying already-postponed message$NL" :0 fw |$FORMAIL -R X-Postponed X-Was-Postponed } :0 E -* ! DISABLE_DELAYS ?? . -* DELAY ?? . +* DISABLE_DELAYS ?? . { - #TODO: for tickling, use header date - RELEASE="`$BIN_DATE -d \"$DELAY\" +'%s %c'`" + LOG="delay: delays disabled, thus not delaying$NL" +} + +:0 E +* ! TICKLE ?? . +* ? echo "$FROMEMAIL" | $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 %Z)'`" } + DELAY :0 *$ RELEASE ?? ^\/${RE_NOT_SPACE}+ @@ -23,16 +39,18 @@ *$ -$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" - POSTPONED="$RELEASE_TS ($RELEASE_TIME)" - INCLUDERC=$PMDIR/record-delayed-mail - INCLUDERC=$PMDIR/addheaders + RELEASE_TIME + + :0 fw + |$FORMAIL -I"X-Postponed: $RELEASE" :0 $DELAYED_QUEUE } + RELEASE_TS }