esac
}
+help() {
+ printf '%s\n' "$usage"
+ #### Print the nmh intro text.
+ ${nmhbindir}/mhparam -help | sed -n -e '/^$/,$p'
+ exit
+}
+
#### Convenience function to allow concise code below.
die() {
[ $# -gt 0 ] && printf '%s\n' "$1" >&2
bindir=`finddir $0`
nmhbindir=`cd "$bindir" && pwd`
-nmhlibdir=`$nmhbindir/mhparam libdir`
+nmhlibexecdir=`$nmhbindir/mhparam libexecdir`
case `printf 'OK\n' | tail -n 1 2>&1` in
OK) tail='tail -n ' ;;
*) tail='tail -' ;;
-f|-fr|-fro|-from) mhmailswitch=1; fromarg=1 ;;
-hea|-head|-heade|-header|-headerf|-headerfi|-headerfie|-headerfiel|\
-headerfield) mhmailswitch=1; headerfieldarg=1 ;;
- -hel|-help) printf '%s\n' "$usage"; exit ;;
+ -hel|-help) help ;;
-nose|-nosen|-nosend) mhmailswitch=1; sendsw=0 ;;
-p|-pr|-pro|-prof|-profi|-profil|-profile) mhmailswitch=1; use_send=1 ;;
-resend) die 'mhmail: did you mean -resent instead of -resend?' ;;
die 'Usage: mhmail [-t(o)] addrs ... [switches]'
fi
if [ "$from"x = x ]; then
- from=`${nmhlibdir}/ap -format '%(localmbox)' 0`
+ from=`${nmhlibexecdir}/ap -format '%(localmbox)' 0`
fi
#### Check for missing mandatory arguments.
#### .orig file, so it will remove them, too.
umask 077
tmpdir="${MHTMPDIR:-${TMPDIR:-`$nmhbindir/mhpath +`}}"
-tmpfilename=`cd "$tmpdir" && "${nmhlibdir}/mkstemp" -p mhmail`
+tmpfilename=`cd "$tmpdir" && "${nmhlibexecdir}/mkstemp" -p mhmail`
[ $? -ne 0 ] && die "mhmail: failed to create temporary file in $tmpdir"
tmpfile="$tmpdir/$tmpfilename"
backup_char=`"$nmhbindir"/mhparam sbackup`
header="$header
"
message_file="$tmpfile"
+elif [ $use_send -eq 0 ]; then
+ postsendargs="${postsendargs:+$postsendargs }-dist"
+ message_file="$tmpfile"
else
- if [ $use_send -eq 0 ]; then
- postsendargs="${postsendargs:+$postsendargs }-dist"
- message_file="$tmpfile"
- else
- #### When resending with send, tmpfile will just contain the
- #### Resent- header fields. "$tmpfileresent" will contain
- #### the message that is being resent.
- tmpfileresent=`"${nmhlibdir}/mkstemp" -d "$tmpdir" -p mhmail-resent`
- [ $? -ne 0 ] && die "mhmail: failed to create temporary file in $tmpdir"
- mhdist=1; export mhdist
- mhaltmsg=$tmpfileresent; export mhaltmsg
- message_file="$tmpfileresent"
- printf '' >"$message_file" || exit 2
- fi
+ #### When resending with send, tmpfile will just contain the
+ #### Resent- header fields. "$tmpfileresent" will contain
+ #### the message that is being resent.
+ tmpfileresent=`"${nmhlibexecdir}/mkstemp" -d "$tmpdir" -p mhmail-resent`
+ [ $? -ne 0 ] && die "mhmail: failed to create temporary file in $tmpdir"
+ mhdist=1; export mhdist
+ mhaltmsg=$tmpfileresent; export mhaltmsg
+ message_file="$tmpfileresent"
+ printf '' >"$message_file" || exit 2
fi
trap "rm -f '$tmpfile' $tmpfilebackup ${tmpfileresent:+'$tmpfileresent'}" 0
post_or_send="$nmhbindir/send"
fi
- if "$post_or_send" "$tmpfile" $postsendargs; then
+ if "$post_or_send" $postsendargs "$tmpfile"; then
exit
- else
- status=$?
- mv -f "$tmpfile" dead.letter
- printf 'Letter saved in dead.letter\n' >&2
- exit $status
fi
+ status=$?
+ mv -f "$tmpfile" dead.letter
+ printf 'Letter saved in dead.letter\n' >&2
+ exit $status
fi