#!/bin/sh # # Send MIME-encoded files # trap 'r=$?; rm -f $tmpfile ~/.mc.sel; exit $r' 0 1 2 3 13 15 if [ $# -lt 2 ]; then echo "usage: mmsend address subject [file ...]" >&2 exit 1 fi address=$1; subject=$2; shift 2 if [ $# -eq 0 ]; then mcsel -k; [ -f ~/.mc.sel ] || exit 1 fi tmpfile=$(mktemp ~/.mmsend.XXXXXX) || exit 1 echo "Enter descriptive message to recipient, end with a single dot:" while read -r line; do [ "$line" = "." ] && break echo "$line" >>$tmpfile done [ -s $tmpfile ] && opts="-m text/plain -D \"Descriptive text\" -f $tmpfile" if [ $# -eq 0 ]; then oifs="$IFS"; IFS=" " set $(cat ~/.mc.sel) IFS="$oifs" fi for file in "$@"; do [ ! -f "$file" ] && { echo "Can't find file \`$file'" >&2; exit 1; } # type="$(file -i "$file" | sed -E 's/^[^:]+: +([^,; ]+).*$/\1/')" type="$(file "$file" | magic2mime)" name=$(basename "$file") [ -n "$opts" ] && opts="$opts -n " opts="$opts -m $type'; name=\"$name\"' -D \"$name\" -f \"$file\" -e base64" done eval "metasend -b -t $address -s \"$subject\" $opts" .