# The X-Tickle header has priority over the Original-To address :0 * ! POSTPONED ?? . *$ ^X-Tickle:${RE_SPACE}+\/${RE_NOT_SPACE}+ { TICKLE="$MATCH" } :0 E * ! POSTPONED ?? . * ORIGINAL_TO ?? ^.+@tickle\.madduck\.net$ * ORIGINAL_TO ?? ^\/[^@]+ { TICKLE="$MATCH" } :0 * TICKLE ?? . * ! DEST ?? . { DAILY_DELIVERY_TIME=04:20 JUST_DATE="`$BIN_DATE -d \"$DATE\" +%x`" :0 * TICKLE ?? ^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$ { DELAY="@$TICKLE" } :0 E * TICKLE ?? ^[0-9]+h$ * TICKLE ?? ^\/[^h]+ { DELAY="$DATE + $MATCH hours" } :0 E * TICKLE ?? ^[0-9]+m$ * TICKLE ?? ^\/[^m]+ { DELAY="$JUST_DATE + $MATCH months $DAILY_DELIVERY_TIME" } :0 E * TICKLE ?? ^[0-9]+w$ * TICKLE ?? ^\/[^w]+ { DELAY="$JUST_DATE + $MATCH weeks $DAILY_DELIVERY_TIME" } :0 E * TICKLE ?? ^[0-9]+d?$ * TICKLE ?? ^\/[^d]+ { DELAY="$JUST_DATE + $MATCH days $DAILY_DELIVERY_TIME" } :0 E { LOG="tickle: invalid tickler date string: $TICKLE$NL" EXITCODE=69 HOST } JUST_DATE DAILY_DELIVERY_TIME :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" # store messages as read MARK_READ=tickler # unset DISABLE_DELAYS to always enable delaying for tickle messages DISABLE_DELAYS } # vim:ft=procmail