--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Admin/isatest/pmail Mon Mar 05 22:12:20 2007 +0100
@@ -0,0 +1,97 @@
+#!/usr/bin/env bash
+#
+# $Id$
+# Author: Gerwin Klein, TU Muenchen
+#
+# DESCRIPTION: send email with text attachments.
+# (works for "mail" command of SunOS 5.8)
+#
+
+PRG="$(basename "$0")"
+
+MIME_BOUNDARY="==PM_=_37427935"
+
+function usage()
+{
+ echo
+ echo "Usage: $PRG subject recipient <body> [<attachments>]"
+ echo
+ echo " Send email with text attachments. <body> is a file."
+ echo
+ exit 1
+}
+
+function fail()
+{
+ echo "$1" >&2
+ exit 2
+}
+
+#
+# print_attachment <file>
+#
+# print mime "encoded" <file> to stdout (text/plain, 8bit)
+#
+function print_attachment()
+{
+ local FILE=$1
+ local NAME=${FILE##*/}
+
+ cat <<EOF
+--$MIME_BOUNDARY
+Content-Type: text/plain
+Content-Transfer-Encoding: 8bit
+Content-Disposition: attachment; filename="$NAME"
+
+EOF
+ cat $FILE
+ echo
+}
+
+
+#
+# print_body subject <message-file> [<attachments>]
+#
+# prints mime "encoded" message with text attachments to stdout
+#
+function print_body()
+{
+ local SUBJECT=$1
+ local BODY=$2
+ shift 2
+
+ cat <<EOF
+Subject: $SUBJECT
+Mime-Version: 1.0
+Content-Type: multipart/mixed; boundary="$MIME_BOUNDARY"
+
+--$MIME_BOUNDARY
+Content-Type: text/plain
+Content-Transfer-Encoding: 8bit
+
+EOF
+ cat $BODY
+ echo
+
+ for a in $@; do print_attachment $a; done
+
+ echo "--$MIME_BOUNDARY--"
+ echo
+}
+
+## main
+
+# argument checking
+
+[ "$1" = "-?" ] && usage
+[ "$#" -lt "3" ] && usage
+
+SUBJECT="$1"
+TO="$2"
+BODY="$3"
+
+shift 3
+
+[ -r "$BODY" ] || fail "could not read $BODY"
+
+print_body "$SUBJECT" "$BODY" $@ | mail -t "$TO"