X-Git-Url: https://git.madduck.net/etc/mailfilter.git/blobdiff_plain/48a11b9090d810861f01fc1c66e02b34aa35eb3a..42effe4dc98d32fde6d40f4038f106b205ee29df:/procmail/tickle diff --git a/procmail/tickle b/procmail/tickle index 1eb4ce6..5c7d19b 100644 --- a/procmail/tickle +++ b/procmail/tickle @@ -1,31 +1,38 @@ :0 +* ! DEST ?? . +* ! TICKLE_DELIVERED ?? . * ORIGINAL_TO ?? ^.+@tickle\.madduck\.net$ * ORIGINAL_TO ?? ^\/[^@]+ { - STAMP + DAILY_DELIVERY_TIME=04:20 + JUST_DATE="`$BIN_DATE -d \"$DATE\" +%x`" + :0 * MATCH ?? ^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$ - { STAMP=$MATCH } + { DELAY="@$MATCH" } + + :0 E + * MATCH ?? ^[0-9]+h$ + * MATCH ?? ^\/[^h]+ + { DELAY="$DATE + $MATCH hours" } :0 E * MATCH ?? ^[0-9]+m$ * MATCH ?? ^\/[^m]+ - { DATESTR="$DATE + $MATCH months 00:00" } + { DELAY="$JUST_DATE + $MATCH months $DAILY_DELIVERY_TIME" } :0 E * MATCH ?? ^[0-9]+w$ * MATCH ?? ^\/[^w]+ - { DATESTR="$DATE + $MATCH weeks 00:00" } + { DELAY="$JUST_DATE + $MATCH weeks $DAILY_DELIVERY_TIME" } :0 E * MATCH ?? ^[0-9]+d?$ * MATCH ?? ^\/[^d]+ - { DATESTR="$DATE + $MATCH days 00:00" } + { DELAY="$JUST_DATE + $MATCH days $DAILY_DELIVERY_TIME" } - :0 E - * MATCH ?? ^[0-9]+h$ - * MATCH ?? ^\/[^h]+ - { DATESTR="$DATE + $MATCH hours" } + JUST_DATE + DAILY_DELIVERY_TIME :0 E { @@ -34,15 +41,10 @@ HOST } - :0 - * ! STAMP ?? . - { STAMP=`/bin/date +'%s (%c)' -d "$DATESTR"` } - - LOG="tickle: stamping message $MSGID with $STAMP$NL" - :0 fw - |$FORMAIL -i "X-Tickle: $STAMP" + |$FORMAIL -i "X-Tickle: $DELAY" - :0 - $BASE/.tickler/ + LOG="tickle: delaying message until $DELAY$NL" } + +# vim:ft=procmail