#!/bin/sh set -eu MAILDIR=$HOME/.maildir SQLITE=/usr/bin/sqlite3 RESUBMIT=$HOME/.etc/mailfilter/bin/resubmit DELAYED_QUEUE_DB=$HOME/.var/procmail/delayed-queue.sqlite QUERY='select * from messages where release_ts < strftime("%s", "now")' $SQLITE -column $DELAYED_QUEUE_DB "$QUERY" | while read msgid file ts; do file="$MAILDIR/$file" if [ ! -f "$file" ]; then echo "E: message $msgid not found in $file" >&2 else $RESUBMIT "$file" echo "I: resubmitted $msgid" fi $SQLITE $DELAYED_QUEUE_DB "delete from messages where msgid = '$msgid'" done