X-Git-Url: https://git.madduck.net/etc/mailfilter.git/blobdiff_plain/451f66ccde1a608fd45bb8d89db3d7bb1320178e..c5f94f1b35e28a55f137f23c15b1fea3007e3a53:/procmail/delay-delivery diff --git a/procmail/delay-delivery b/procmail/delay-delivery index 3410dcf..38f7c4e 100644 --- a/procmail/delay-delivery +++ b/procmail/delay-delivery @@ -1,14 +1,16 @@ -# 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" } + :0 fw + |$FORMAIL -R X-Postponed X-Was-Postponed +} +:0 E +* ! DISABLE_DELAYS ?? . +* DELAY ?? . +{ #TODO: for tickling, use header date RELEASE="`$BIN_DATE -d \"$DELAY\" +'%s %c'`" @@ -25,19 +27,10 @@ { RELEASE_TIME="$MATCH" } LOG="delay: delay delivery of $MSGID until $RELEASE_TIME$NL" + POSTPONED="$RELEASE_TS ($RELEASE_TIME)" - 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)" + INCLUDERC=$PMDIR/record-delayed-mail + INCLUDERC=$PMDIR/addheaders :0 $DELAYED_QUEUE