X-Git-Url: https://git.madduck.net/etc/mailfilter.git/blobdiff_plain/5950d5c4e05d47338e97a80dfa0909bf9c870ee5..fb9b05d69b0ed315889168a1499b9c5a879548e5:/bin/resubmit diff --git a/bin/resubmit b/bin/resubmit index 6bf8819..6227584 100755 --- a/bin/resubmit +++ b/bin/resubmit @@ -19,13 +19,15 @@ usage() -V|--version & show version information. -h|--help & show this output. -l|--list & process the argument list (even if empty), never stdin + -r|--deliver-read & mark messages read on delivery _eof } -SHORTOPTS=Vhl -LONGOPTS=version,help,list +SHORTOPTS=Vhlr +LONGOPTS=version,help,list,deliver-read list=0 +mark_read=0 files= for opt in $(getopt -n $ME -o $SHORTOPTS -l $LONGOPTS -u -- "$@"); do @@ -33,6 +35,7 @@ for opt in $(getopt -n $ME -o $SHORTOPTS -l $LONGOPTS -u -- "$@"); do -V|--version) about; exit 0;; -h|--help) about; echo; usage; exit 0;; -l|--list) list=1;; + -r|--deliver-read) mark_read=1;; --) :;; *) if [ -f "$opt" ] && [ -r "$opt" ]; then @@ -46,10 +49,15 @@ for opt in $(getopt -n $ME -o $SHORTOPTS -l $LONGOPTS -u -- "$@"); do done PROCMAIL=$HOME/.etc/mailfilter/procmail/procmailrc + +if [ "$mark_read" -eq 1 ]; then + PROCMAIL="$PROCMAIL DELIVER_READ=1" +fi + # execute the date -R only during the eval, not immediately FILTER='/usr/bin/formail -I"X-Resubmitted: $(date -R)"' -if [ -z "${1:-}" ] && [ $list -eq 0 ]; then +if [ -z "${files:-}" ] && [ $list -eq 0 ]; then eval $FILTER | exec $PROCMAIL else for f in $files; do