From: martin f. krafft Date: Fri, 29 Feb 2008 13:37:06 +0000 (+0100) Subject: route tickler via resubmit and delay queue X-Git-Url: https://git.madduck.net/etc/mailfilter.git/commitdiff_plain/75e25f19dcf7f61080a1e728affd40e5ee7dcea0?ds=sidebyside route tickler via resubmit and delay queue --- diff --git a/procmail/defines b/procmail/defines index 754ba49..a24641c 100644 --- a/procmail/defines +++ b/procmail/defines @@ -75,7 +75,7 @@ DEJAVU_HEADER=X-Deja-Vu NULL=/dev/null DELAYED_QUEUE=$BASE/.delayed/ -TICKLER_QUEUE=$BASE/.tickler/ +TICKLER_QUEUE=$BASE/.store/ DISCARD=$BASE/.discard/ SPAM=$BASE/.spam/ #DISCARD="'|$DELIVER -m BASE.discard'" diff --git a/procmail/tickle b/procmail/tickle index 4ba44e3..bc4572d 100644 --- a/procmail/tickle +++ b/procmail/tickle @@ -1,53 +1,62 @@ :0 -* ! DEST ?? . -* ! TICKLE_DELIVERED ?? . * ORIGINAL_TO ?? ^.+@tickle\.madduck\.net$ * ORIGINAL_TO ?? ^\/[^@]+ +{ TICKLE="$MATCH" } + +:0 E +*$ ^X-Tickle:${RE_SPACE}+\/${RE_NOT_SPACE}+ +{ TICKLE="$MATCH" } + +:0 +* TICKLE ?? . +* ! DEST ?? . +* ! TICKLE_DELIVERED ?? . { + LOG="tickle: '$TICKLE'$NL" 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]$ - { DELAY="@$MATCH" } + * 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 - * MATCH ?? ^[0-9]+h$ - * MATCH ?? ^\/[^h]+ + * TICKLE ?? ^[0-9]+h$ + * TICKLE ?? ^\/[^h]+ { DELAY="$DATE + $MATCH hours" } :0 E - * MATCH ?? ^[0-9]+m$ - * MATCH ?? ^\/[^m]+ + * TICKLE ?? ^[0-9]+m$ + * TICKLE ?? ^\/[^m]+ { DELAY="$JUST_DATE + $MATCH months $DAILY_DELIVERY_TIME" } :0 E - * MATCH ?? ^[0-9]+w$ - * MATCH ?? ^\/[^w]+ + * TICKLE ?? ^[0-9]+w$ + * TICKLE ?? ^\/[^w]+ { DELAY="$JUST_DATE + $MATCH weeks $DAILY_DELIVERY_TIME" } :0 E - * MATCH ?? ^[0-9]+d?$ - * MATCH ?? ^\/[^d]+ + * TICKLE ?? ^[0-9]+d?$ + * TICKLE ?? ^\/[^d]+ { DELAY="$JUST_DATE + $MATCH days $DAILY_DELIVERY_TIME" } - JUST_DATE - DAILY_DELIVERY_TIME - :0 E { - LOG="tickle: invalid date string: $MATCH$NL" + LOG="tickle: invalid tickler date string: $TICKLE$NL" EXITCODE=69 HOST } - :0 fw - |$FORMAIL -i "X-Tickle: $DELAY" + JUST_DATE + DAILY_DELIVERY_TIME LOG="tickle: delaying message until $DELAY$NL" + DELAYED_QUEUE=$TICKLER_QUEUE # unset DISABLE_DELAYS to enable delaying for tickle messages DISABLE_DELAYS } +TICKLE + # vim:ft=procmail