X-Git-Url: https://git.madduck.net/etc/mutt.git/blobdiff_plain/9605b5c226015990295ddfc0ac1dcad217ef9291..f1ab8bcb3d0102fe44d2baad1de229f3edce4048:/.mutt/sendmail-checks.d/ack-recipients diff --git a/.mutt/sendmail-checks.d/ack-recipients b/.mutt/sendmail-checks.d/ack-recipients index 7edd1d5..749b1d6 100755 --- a/.mutt/sendmail-checks.d/ack-recipients +++ b/.mutt/sendmail-checks.d/ack-recipients @@ -10,7 +10,7 @@ # addresses (no newline) instead of the addresses themselves as a measure to # protect privacy. You can get new lines like this: # -# printf my.new@e-mail.addre.ss | tr [[:upper:]] [[:lower:]] \ +# printf my.new@e-mail.addre.ss | tr '[[:upper:]]' '[[:lower:]]' \ # | sha256sum | sed -e 's, .*,,' # # E.g. my address (see below) will become @@ -23,15 +23,16 @@ set -eu CHECKLIST="$HOME/.mutt/ack-recipients" HEADER=X-Acked -ACKED_RCPTS=$(formail -czx ${HEADER}: < $1 | tr -d ',') +ACKED_RCPTS=$(formail -czx ${HEADER}: < $1 | tr -d ',' | tr '[[:upper:]]' '[[:lower:]]') MAILFILE="$1"; shift ret=0 for r in $@; do ack=0 # check if this recipient is in the list of acked recipients - for a in $ACKED_RCPTS; do [ $a = $r ] && ack=1 && break; done - rs=$(printf $r | tr [[:upper:]] [[:lower:]] | sha256sum) + rl=$(printf $r | tr '[[:upper:]]' '[[:lower:]]') + for a in $ACKED_RCPTS; do [ $a = $rl ] && ack=1 && break; done + rs=$(printf $rl | sha256sum) # now check if this unacked recipient needs to be acked if [ $ack -eq 0 ] && grep -q "^${rs%% *}$" "$CHECKLIST"; then echo >&2 "E: will not send mail until $r has been added to the $HEADER header" @@ -42,7 +43,7 @@ done [ $ret -eq 0 ] || exit $ret # now remove the X-Acked header from the mail -TMPFILE=$(tempfile -p mutt-sendmail -s .msg) +TMPFILE=$(mktemp --tmpdir mutt-sendmail.XXXXXXXXXX.msg) settrap () { trap "$@" 0 1 2 3 4 5 6 7 8 10 11 12 13 14 15; } cleanup () { rm -f "$TMPFILE"; settrap -; } settrap cleanup