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.
   3 # ack-recipients – require double-checking of some recipients
 
   5 # refuse to send a mail as long as recipients listed in
 
   6 # ~/.config/mutt/ack-recipients are not individually "signed-off" by adding
 
   7 # their e-mail addresses to the X-Acked header. This header is removed from
 
   8 # the mail before it is sent.
 
  10 # The file ~/.config/mutt/ack-recipients stores sha256sums of lower-cased
 
  11 # e-mail addresses (no newline) instead of the addresses themselves as a
 
  12 # measure to protect privacy. You can get new lines like this:
 
  14 #   printf my.new@e-mail.addre.ss | tr '[[:upper:]]' '[[:lower:]]' \
 
  15 #     | sha256sum | sed -e 's, .*,,'
 
  17 # E.g. my address (see below) will become
 
  18 #   84d5b33c9376f67274c2ec9ce0e03b6973fb8bc943ebd7abb470c903c47e00f4
 
  20 # Copyright © 2010 martin f. krafft <madduck@madduck.net>
 
  21 # Released under the terms of the Artistic Licence 2.0
 
  25 CHECKLIST="$HOME/.config/mutt/ack-recipients"
 
  27 ACKED_RCPTS=$(formail -czx ${HEADER}: < $1 | sed -re 's/,\s*/ /g' | tr '[[:upper:]]' '[[:lower:]]')
 
  33   # check if this recipient is in the list of acked recipients
 
  34   rl=$(printf $r | tr '[[:upper:]]' '[[:lower:]]')
 
  35   for a in $ACKED_RCPTS; do [ $a = $rl ] && ack=1 && break; done
 
  36   rs=$(printf $rl | sha256sum)
 
  37   # now check if this unacked recipient needs to be acked
 
  38   if [ $ack -eq 0 ] && grep -q "^${rs%% *}$" "$CHECKLIST"; then
 
  39     echo >&2 "E: will not send mail until $r has been added to the $HEADER header"
 
  44 [ $ret -eq 0 ] || exit $ret
 
  46 # now remove the X-Acked header from the mail
 
  47 TMPFILE=$(mktemp --tmpdir mutt-sendmail.XXXXXXXXXX.msg)
 
  48 settrap () { trap "$@" 0 1 2 3 4 5 6 7 8 10 11 12 13 14 15; }
 
  49 cleanup () { rm -f "$TMPFILE"; settrap -; }
 
  51 formail -I ${HEADER}: < "$MAILFILE" > "$TMPFILE"
 
  52 mv "$TMPFILE" "$MAILFILE"