From 864bba9e27d4b47043898efaa709281986ba36ff Mon Sep 17 00:00:00 2001 From: "martin f. krafft" Date: Mon, 3 Mar 2008 16:35:04 +0100 Subject: [PATCH] leave X-Tickle header for tickle messages --- procmail/defines | 9 +++++++++ procmail/delay-delivery | 16 +++++++++++----- procmail/tickle | 14 ++++++++------ 3 files changed, 28 insertions(+), 11 deletions(-) diff --git a/procmail/defines b/procmail/defines index 1c55b63..514a690 100644 --- a/procmail/defines +++ b/procmail/defines @@ -224,3 +224,12 @@ JUSTME # DISABLE_DELAYS # if set, disables delaying messages DISABLE_DELAYS + +# DELAY +# argument to /bin/date -d to indicate a message delay. This is overridden by +# RELEASE +DELAY + +# RELEASE +# /bin/date time expression indicating the time at which a message is to be +# released. Overrides DELAY. diff --git a/procmail/delay-delivery b/procmail/delay-delivery index 65f02e5..9e8e02a 100644 --- a/procmail/delay-delivery +++ b/procmail/delay-delivery @@ -15,10 +15,13 @@ } :0 E -* DELAY ?? . +* 1^0 DELAY ?? . +* 1^0 RELEASE ?? . { - #TODO: for tickling, use header date - RELEASE="`$BIN_DATE -d \"$DELAY\" +'%s %c'`" + :0 + * ! RELEASE ?? . + { RELEASE="`$BIN_DATE -d \"$DELAY\" +'%s (%c)'`" } + DELAY :0 *$ RELEASE ?? ^\/${RE_NOT_SPACE}+ @@ -29,16 +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-Postponed: $RELEASE_TS ($RELEASE_TIME)" + |$FORMAIL -I"X-Postponed: $RELEASE" INCLUDERC=$PMDIR/record-delayed-mail :0 $DELAYED_QUEUE } + RELEASE_TS } diff --git a/procmail/tickle b/procmail/tickle index 1a3388d..0a40a1b 100644 --- a/procmail/tickle +++ b/procmail/tickle @@ -1,11 +1,7 @@ # The X-Tickle header has priority over the Original-To address :0 *$ ^X-Tickle:${RE_SPACE}+\/${RE_NOT_SPACE}+ -{ - TICKLE="$MATCH" - :0 fw - |$FORMAIL -IX-Tickle -} +{ TICKLE="$MATCH" } :0 E * ! POSTPONED ?? . @@ -54,9 +50,15 @@ JUST_DATE DAILY_DELIVERY_TIME - LOG="tickle: delaying message until $DELAY$NL" + :0 + { RELEASE="`$BIN_DATE -d \"$DELAY\" +'%s (%c)'`" } + + LOG="tickle: delaying message until $RELEASE$NL" DELAYED_QUEUE=$TICKLER_QUEUE + :0 fw + |$FORMAIL -I"X-Tickle: $RELEASE" + # unset DISABLE_DELAYS to always enable delaying for tickle messages DISABLE_DELAYS } -- 2.39.5