* ORIGINAL_TO ?? ^.+@tickle\.madduck\.net$
* ORIGINAL_TO ?? ^\/[^@]+
{
- BIN_DATE=/bin/date
- DELIVERY_TIME=04:20
- 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 (`$BIN_DATE -d @$MATCH +%c`)" }
+ { DELAY="@$MATCH" }
:0 E
* MATCH ?? ^[0-9]+h$
* MATCH ?? ^\/[^h]+
- { DATESTR="$DATE + $MATCH hours" }
-
- JUST_DATE="`$BIN_DATE -d \"$DATE\" +%x`"
+ { DELAY="$DATE + $MATCH hours" }
:0 E
* MATCH ?? ^[0-9]+m$
* MATCH ?? ^\/[^m]+
- { DATESTR="$JUST_DATE + $MATCH months $DELIVERY_TIME" }
+ { DELAY="$JUST_DATE + $MATCH months $DAILY_DELIVERY_TIME" }
:0 E
* MATCH ?? ^[0-9]+w$
* MATCH ?? ^\/[^w]+
- { DATESTR="$JUST_DATE + $MATCH weeks $DELIVERY_TIME" }
+ { DELAY="$JUST_DATE + $MATCH weeks $DAILY_DELIVERY_TIME" }
:0 E
* MATCH ?? ^[0-9]+d?$
* MATCH ?? ^\/[^d]+
- { DATESTR="$JUST_DATE + $MATCH days $DELIVERY_TIME" }
+ { DELAY="$JUST_DATE + $MATCH days $DAILY_DELIVERY_TIME" }
JUST_DATE
- DELIVERY_TIME
+ DAILY_DELIVERY_TIME
:0 E
{
HOST
}
- :0
- * ! STAMP ?? .
- { STAMP=`$BIN_DATE +'%s (%c)' -d "$DATESTR"` }
-
- :0
- * ! STAMP ?? ^[0-9]+ \([A-Za-z ]+ [0-9 :]+\)$
- {
- LOG="tickle: error creating timestamp ($STAMP), using \$now$NL"
- STAMP="`$BIN_DATE +%s` (ERROR: original stamp '$STAMP' invalid)"
- }
-
- :0 E
- { LOG="tickle: stamping message $MSGID with $STAMP$NL" }
-
:0 fw
- |$FORMAIL -i "X-Tickle: $STAMP"
+ |$FORMAIL -i "X-Tickle: $DELAY"
- :0
- { DEST=$TICKLER_QUEUE }
+ LOG="tickle: delaying message until $DELAY$NL"
- BIN_DATE
+ # unset DISABLE_DELAYS to enable delaying for tickle messages
+ DISABLE_DELAYS
}
# vim:ft=procmail