]>
git.madduck.net Git - etc/mailfilter.git/blobdiff - procmail/delay-delivery
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:
-:0
-* ^X-Mailer: swaks
-{ DELAY="30 seconds" }
-
# create table messages (msgid text unique not null, filename text
# primary key not null unique, release_ts integer not null);
# create table messages (msgid text unique not null, filename text
# primary key not null unique, release_ts integer not null);
+#TODO: create config/delay-(disabled|tonight|weekend)
+
+ :0
+ * DELAY ?? ^[0-9]
+ { DELAY="now + $DELAY" }
+
#TODO: for tickling, use header date
#TODO: for tickling, use header date
- RELEASE="`date -d \"now + $DELAY\" +'%s %c'`"
+ RELEASE="`$BIN_DATE -d \"$DELAY\" +'%s %c'`"
+
:0
*$ RELEASE ?? ^\/${RE_NOT_SPACE}+
{ RELEASE_TS=$MATCH }
:0
*$ RELEASE ?? ^\/${RE_NOT_SPACE}+
{ RELEASE_TS=$MATCH }
- *$ RELEASE ?? ^[0-9]+${RE_SPACE}+\/.+
- { RELEASE_TIME="$MATCH" }
+ *$ $RELEASE_TS ^0
+ *$ -$OURDATE_TS ^0
+ {
+ :0
+ *$ RELEASE ?? ^[0-9]+${RE_SPACE}+\/.+
+ { RELEASE_TIME="$MATCH" }
- LOG="delay: delay delivery of $MSGID until $RELEASE_TIME$NL"
+ LOG="delay: delay delivery of $MSGID until $RELEASE_TIME$NL"
- DELAYED_QUEUE_DB=$PMVAR/delayed-queue.sqlite
- DO_QUERY="$SQLITE $DELAYED_QUEUE_DB"
+ DELAYED_QUEUE_DB=$PMVAR/delayed-queue.sqlite
+ DO_QUERY="$SQLITE $DELAYED_QUEUE_DB"
- DATA="$MSGID"
- INCLUDERC=$PMDIR/sql-escape
+ DATA="$MSGID"
+ INCLUDERC=$PMDIR/sql-escape
- Q="insert into messages values
- ($DATA, '\\'\$DESTFILE\\'', $RELEASE_TS)"
- TRAP="$TRAP; $DO_QUERY '$Q'"
+ Q="insert into messages values
+ ($DATA, '\\'\$DESTFILE\\'', $RELEASE_TS)"
+ TRAP="$TRAP; $DO_QUERY '$Q'"
+ :0 fw
+ |$FORMAIL -I "X-Delayed: $RELEASE_TS ($RELEASE_TIME)"
+
+ :0
+ $DELAYED_QUEUE
+ }