mirror of
https://github.com/leahneukirchen/mblaze
synced 2024-11-11 13:10:32 +00:00
68 lines
1.0 KiB
Plaintext
68 lines
1.0 KiB
Plaintext
|
#!/bin/sh
|
||
|
# msendmail TO... < msg - compose MIME mail noninteractively
|
||
|
# -F from-name
|
||
|
# -a attach-file
|
||
|
# -b bcc
|
||
|
# -c cc
|
||
|
# -f from
|
||
|
# -s subject
|
||
|
# -m msg-paragraph
|
||
|
|
||
|
IFS='
|
||
|
'
|
||
|
|
||
|
MBLAZE=${MBLAZE:-$HOME/.mblaze}
|
||
|
from=$(mhdr -h local-mailbox "$MBLAZE/profile")
|
||
|
|
||
|
subj=
|
||
|
bcc=
|
||
|
cc=
|
||
|
msg=
|
||
|
fromname=
|
||
|
att=
|
||
|
|
||
|
hdr() {
|
||
|
[ -z "$2" ] && return
|
||
|
printf '%s: ' "$1"
|
||
|
shift
|
||
|
printf '%s\n' "$@" | sed ':a;N;s/\n/, /;$!b a'
|
||
|
}
|
||
|
|
||
|
while getopts a:s:b:c:m:f:F: opt; do
|
||
|
case "$opt" in
|
||
|
s) subj=$OPTARG;;
|
||
|
b) bcc="$bcc$IFS$OPTARG";;
|
||
|
c) cc="$cc$IFS$OPTARG";;
|
||
|
m) msg="$msg$OPTARG$IFS$IFS";;
|
||
|
f) from=$OPTARG;;
|
||
|
F) fromname=$OPTARG;;
|
||
|
a) att="$att$IFS$OPTARG";;
|
||
|
[?]) exit 1;;
|
||
|
esac
|
||
|
done
|
||
|
shift $((OPTIND-1))
|
||
|
|
||
|
[ -n "$from" ] && [ -n "$fromname" ] && from="$fromname <$from>"
|
||
|
|
||
|
{
|
||
|
hdr To "$@"
|
||
|
hdr Cc $cc
|
||
|
hdr Bcc $bcc
|
||
|
hdr Subject $subj
|
||
|
hdr From $from
|
||
|
hdr User-Agent "mblaze/beta (msendmail)"
|
||
|
hdr Message-Id "$(mgenmid)"
|
||
|
hdr Date "$(mdate)"
|
||
|
|
||
|
printf '\n'
|
||
|
if [ -n "$msg" ]; then
|
||
|
printf '%s' "$msg"
|
||
|
else
|
||
|
cat
|
||
|
fi
|
||
|
|
||
|
for a in $att; do
|
||
|
printf '#%s %s\n' "$(file -b --mime-type "$a")" "$a"
|
||
|
done
|
||
|
} | mmime
|