mcom: add -r to resume editing drafts

pull/37/head
Leah Neukirchen 7 years ago
parent 856883bf69
commit eeacad9fd8

@ -8,7 +8,9 @@
.Nd compose new, forward, reply to, and send mail
.Sh SYNOPSIS
.Nm mcom
.Op Ar recipient
.Op Ar recipients\ ...
.Nm mcom
.Fl r Op draft
.Nm mfwd
.Op Fl r
.Op Ar msgs\ ...
@ -19,15 +21,23 @@
creates a new draft mail and runs an editor.
After editing, a loop is started where the user can re-edit, send or
cancel the mail.
Use
.Sq Nm Fl r
to resume editing a draft.
By default, the last modified draft will be edited.
.Pp
.Nm mfwd
behaves like
.Nm mcom
but fills the draft with subject and body prefilled to forward the messages.
By default, messages are forwarded verbatim as MIME attachments.
but fills the draft with subject and body to forward the messages.
By default, messages are forwarded verbatim as MIME
.Sq Li message/rfc822
attachments.
Use
.Fl r
to forward as rendered plain text, using RFC934 message encapsulation.
to forward as
.Xr mshow 1
rendered plain text, using RFC934 message encapsulation.
.Pp
.Nm mrep
behaves like

44
mcom

@ -36,23 +36,49 @@ sendmail=$(mhdr -h sendmail "$MBLAZE/profile")
sendmail_args=$(mhdr -h sendmail-args "$MBLAZE/profile")
sendmail="${sendmail:-sendmail} ${sendmail_args:--t}"
resume=
case "$0" in
*mcom*)
if [ "$1" = -r ]; then
shift
resume=1
if [ "$#" -gt 0 ]; then
echo "used dreaft $1"
draft="$1"
shift
fi
fi
;;
esac
outbox=$(mhdr -h outbox "$MBLAZE/profile")
if [ -z "$outbox" ]; then
i=0
while [ -f "snd.$i" ]; do
i=$((i+1))
done
draft="./snd.$i"
if [ -z "$resume" ]; then
i=0
while [ -f "snd.$i" ]; do
i=$((i+1))
done
draft="./snd.$i"
elif [ -z "$draft" ]; then
draft=$(ls -1t ./snd.*[0-9] | sed 1q)
fi
draftmime="./snd.$i.mime"
else
draft="$(true | mdeliver -v -c -XD "$outbox")"
if [ -z "$draft" ]; then
printf '%s\n' "$0: failed to create draft in outbox $outbox." 1>&2
exit 1
if [ -z "$resume" ]; then
draft="$(true | mdeliver -v -c -XD "$outbox")"
if [ -z "$draft" ]; then
printf '%s\n' "$0: failed to create draft in outbox $outbox." 1>&2
exit 1
fi
elif [ -z "$draft" ]; then
draft=$(mlist -D "$outbox" | msort -r -M | sed 1q)
fi
draftmime="$(printf '%s\n' "$draft" | sed 's,\(.*\)/cur/,\1/tmp/mime-,')"
fi
echo $draft
[ -z "$resume" ] &&
{
case "$0" in
*mcom*)

Loading…
Cancel
Save