#!/bin/sh # # Send uuencoded files # trap 'r=$?; rm -rf $tmpdir $tmpfile ~/.mc.sel; exit $r' 0 1 2 3 13 15 [ $# -eq 0 ] && { echo "usage: uusend address [file ...]" >&2; exit 1; } addr=$1; shift if [ $# -eq 0 ]; then mcsel -k; [ -f ~/.mc.sel ] || exit 1 fi tmpfile=$(mktemp ~/.uusend.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 if [ $# -eq 0 ]; then oifs="$IFS"; IFS=" " set $(cat ~/.mc.sel) IFS="$oifs" fi for f in "$@"; do tmpdir=$(mktemp -d ~/.uusend.XXXXXX) || exit 1 uuencode "$f" "$(basename "$f")" | (cd $tmpdir && split) cd $tmpdir tot=$(ls | wc -l) cur=1 for pf in *; do ( [ -f $tmpfile -a -s $tmpfile ] && { cat $tmpfile; echo; rm $tmpfile; } cat "$pf" ) | mail -s "$(basename "$f") ($(printf "%03d/%03d" $cur $tot))" $addr cur=$(($cur + 1)) done rm -rf $tmpdir done .