]>
git.madduck.net Git - etc/mailfilter.git/blobdiff - procmail/tickle
madduck's git repository
Every one of the projects in this repository is available at the canonical
URL git://git.madduck.net/madduck/pub/<projectpath> — see
each project's metadata for the exact URL.
All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@ git. madduck. net .
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
SSH access, as well as push access can be individually
arranged .
If you use my repositories frequently, consider adding the following
snippet to ~/.gitconfig and using the third clone URL listed for each
project:
[url "git://git.madduck.net/madduck/"]
insteadOf = madduck:
+# The X-Tickle header has priority over the Original-To address
-* ! DEST ?? .
-* ! TICKLE_DELIVERED ?? .
+*$ ^X-Tickle:${RE_SPACE}+\/${RE_NOT_SPACE}+
+{ TICKLE="$MATCH" }
+
+:0 E
+* ! POSTPONED ?? .
* ORIGINAL_TO ?? ^.+@tickle\.madduck\.net$
* ORIGINAL_TO ?? ^\/[^@]+
* ORIGINAL_TO ?? ^.+@tickle\.madduck\.net$
* ORIGINAL_TO ?? ^\/[^@]+
+{ TICKLE="$MATCH" }
+
+:0
+* TICKLE ?? .
+* ! DEST ?? .
- DELIVERY_TIME=04:20
- STAMP
+ DAILY_D ELIVERY_TIME=04:20
+ JUST_DATE="`$BIN_DATE -d \"$DATE\" +%x`"
- * 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 " }
- * MATCH ?? ^[0-9]+h$
- * MATCH ?? ^\/[^h]+
+ * TICKLE ?? ^[0-9]+h$
+ * TICKLE ?? ^\/[^h]+
{ DELAY="$DATE + $MATCH hours" }
{ DELAY="$DATE + $MATCH hours" }
- JUST_DATE="`$BIN_DATE -d \"$DATE\" +%x`"
-
- * MATCH ?? ^[0-9]+m$
- * MATCH ?? ^\/[^m]+
- { DELAY="$JUST_DATE + $MATCH months $DELIVERY_TIME" }
+ * TICKLE ?? ^[0-9]+m$
+ * TICKLE ?? ^\/[^m]+
+ { DELAY="$JUST_DATE + $MATCH months $DAILY_D ELIVERY_TIME" }
- * MATCH ?? ^[0-9]+w$
- * MATCH ?? ^\/[^w]+
- { DELAY="$JUST_DATE + $MATCH weeks $DELIVERY_TIME" }
+ * TICKLE ?? ^[0-9]+w$
+ * TICKLE ?? ^\/[^w]+
+ { DELAY="$JUST_DATE + $MATCH weeks $DAILY_D ELIVERY_TIME" }
- * MATCH ?? ^[0-9]+d?$
- * MATCH ?? ^\/[^d]+
- { DELAY="$JUST_DATE + $MATCH days $DELIVERY_TIME" }
-
- JUST_DATE
- DELIVERY_TIME
+ * TICKLE ?? ^[0-9]+d?$
+ * TICKLE ?? ^\/[^d]+
+ { DELAY="$JUST_DATE + $MATCH days $DAILY_DELIVERY_TIME" }
- LOG="tickle: invalid date string: $MATCH $NL"
+ LOG="tickle: invalid tickler date string: $TICKLE $NL"
- DELAYED_QUEUE=$BASE/.store/
+ JUST_DATE
+ DAILY_DELIVERY_TIME
+
+ :0
+ { RELEASE="`$BIN_DATE -d \"$DELAY\" +'%s (%c)'`" }
+
+ LOG="tickle: delaying message until $RELEASE$NL"
+ DELAYED_QUEUE=$TICKLER_QUEUE
- |$FORMAIL -i 'X-Tickle: yes'
+ |$FORMAIL -I"X-Tickle: $RELEASE"
+
+ # store messages as read
+ MARK_READ=true
-# :0
-# * ! STAMP ?? .
-# { STAMP=`$BIN_DATE +'%s (%c)' -d "$DELAY"` }
-#
-# :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"
-#
-# :0
-# { DEST=$TICKLER_QUEUE }
+ # unset DISABLE_DELAYS to always enable delaying for tickle messages
+ DISABLE_DELAYS