X-Git-Url: https://git.madduck.net/etc/mutt.git/blobdiff_plain/7268fe31b1ff66a337913749eaca0b98b4860830..db13fabef4016b65602264e263ac23ae332ec660:/.mutt/sendmail diff --git a/.mutt/sendmail b/.mutt/sendmail index 494e3d6..b125941 100755 --- a/.mutt/sendmail +++ b/.mutt/sendmail @@ -21,17 +21,29 @@ cleanup () { rm -f "$TMPFILE"; settrap -; } settrap cleanup argtype=s -args= sendmail_args= +recipients= sendmail_args= for i in "$@"; do case "$argtype/$i" in (s/--) argtype=r;; (s/*) sendmail_args="${sendmail_args} $i";; - (r/*) args="${args} --arg=$i";; + (r/*) recipients="${recipients} $i";; esac done cat > $TMPFILE -run-parts --umask=0077 --arg="$TMPFILE" $args -- "$CHECKSDIR" -$SENDMAIL "$sendmail_args" < "$TMPFILE" + +remove_headers= +if ! formail -czx "Resent-" < "$TMPFILE" | grep -q .; then + # only do this for original mails, not bounces + recipients="$recipients $(formail -czx "X-Bcc" < "$TMPFILE" | tr -d ',')" + remove_headers="$remove_headers -IX-Bcc" +fi +args=$(for i in $recipients; do echo "--arg=$i"; done) +run-parts --exit-on-error --umask=0077 --arg="$TMPFILE" $args -- "$CHECKSDIR" + +recipients=$(echo "$recipients" | xargs) + +formail $remove_headers < "$TMPFILE" \ + | eval $SENDMAIL "$sendmail_args" -- "$recipients" cleanup