+++ /dev/null
-#!/bin/sh
-#
-# mutt/sendmail – sendmail wrapper to enforce some checks on outgoing mails
-#
-# The script basically just creates a temporary file and then invokes any
-# executable scripts in ~/.mutt/sendmail-checks.d in run-parts style. They
-# receive the filename of a temporary file holding the message to be sent as
-# $1, followed by all recipients as determined by mutt.
-#
-# Copyright © 2010 martin f. krafft <madduck@madduck.net>
-# Released under the terms of the Artistic Licence 2.0
-#
-set -eux
-
-CHECKSDIR="$HOME/.mutt/sendmail-checks.d"
-SENDMAIL="/usr/sbin/sendmail -oem -oi"
-
-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
-
-argtype=s
-recipients= sendmail_args=
-for i in "$@"; do
- case "$argtype/$i" in
- (s/--) argtype=r;;
- (s/*) sendmail_args="${sendmail_args} $i";;
- (r/*) recipients="${recipients} $i";;
- esac
-done
-
-cat > $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