From 063bbf05f6c593a47a8ddef095ddfb63ef2dcea5 Mon Sep 17 00:00:00 2001 From: "martin f. krafft" Date: Mon, 14 Jun 2010 12:01:48 +0200 Subject: [PATCH] add and enable sendmail wrapper script --- .mutt/hooks | 1 - .mutt/muttrc | 4 ++-- .mutt/sendmail | 27 +++++++++++++++++++++++++++ 3 files changed, 29 insertions(+), 3 deletions(-) create mode 100755 .mutt/sendmail diff --git a/.mutt/hooks b/.mutt/hooks index 1adb090..4613eda 100644 --- a/.mutt/hooks +++ b/.mutt/hooks @@ -1,6 +1,5 @@ save-hook . =store -send2-hook . 'reset sendmail' send2-hook '~C notyet' "set sendmail='~/.mutt/error 1 I will not send this draft yet!'" # this next works in combination with $use_domain to ensure I don't send # without expanding aliases: diff --git a/.mutt/muttrc b/.mutt/muttrc index d7be8d5..910fb6d 100644 --- a/.mutt/muttrc +++ b/.mutt/muttrc @@ -3684,8 +3684,8 @@ set save_history=100 # arguments as recipient addresses. # #set sendmail="/bin/true" -#set sendmail="~/.mutt/sendmail" -set sendmail="/usr/sbin/sendmail -oem -oi" +set sendmail="~/.mutt/sendmail" +#set sendmail="/usr/sbin/sendmail -oem -oi" # # set sendmail_wait=0 # diff --git a/.mutt/sendmail b/.mutt/sendmail new file mode 100755 index 0000000..44e91dc --- /dev/null +++ b/.mutt/sendmail @@ -0,0 +1,27 @@ +#!/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 +# Released under the terms of the Artistic Licence 2.0 +# +set -eu + +CHECKSDIR="$HOME/.mutt/sendmail-checks.d" +SENDMAIL="/usr/sbin/sendmail -oem -oi" + +TMPFILE=$(tempfile -p mutt-sendmail -s .msg) +cleanup () { rm -f "$TMPFILE"; trap - 0 1 2 3 4 5 6 7 8 10 11 12 13 14 15; } +trap cleanup 0 1 2 3 4 5 6 7 8 10 11 12 13 14 15 + +cat > $TMPFILE +args=$(for a in $@; do [ $a = -- ] || echo "--arg=$a"; done) +run-parts --umask=0077 --arg="$TMPFILE" $args -- "$CHECKSDIR" +$SENDMAIL -- "$@" < "$TMPFILE" + +cleanup -- 2.39.2