email.sh
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |||
| email.sh [2007/06/26 13:29] – 131.211.45.44 | email.sh [2007/06/26 13:29] (current) – 131.211.45.44 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | ====== email.sh ====== | ||
| + | This little script sends an email with one or more attachments from the commandline. It uses either Perl's '' | ||
| + | |||
| + | <code bash> | ||
| + | #!/bin/sh | ||
| + | |||
| + | # Sends an email with attachements need perl with MIME:: | ||
| + | |||
| + | #path to sendmail | ||
| + | SENDMAIL='/ | ||
| + | |||
| + | #Your base64 encoder - must accept STDIN and encode to STDOUT | ||
| + | # | ||
| + | BASE64=" | ||
| + | |||
| + | while getopts " | ||
| + | do | ||
| + | case $OPTION in | ||
| + | s ) SUBJECT=$OPTARG;; | ||
| + | t ) RECEIVER=$OPTARG;; | ||
| + | m ) MESSAGE=$OPTARG;; | ||
| + | f ) FROM=$OPTARG;; | ||
| + | esac | ||
| + | done | ||
| + | |||
| + | if [ -z " | ||
| + | then | ||
| + | echo " | ||
| + | exit | ||
| + | fi | ||
| + | |||
| + | shift $(($OPTIND - 1)) | ||
| + | |||
| + | BOUNDARY=' | ||
| + | DATE=`date -R` | ||
| + | |||
| + | if [ ! -z " | ||
| + | then | ||
| + | SENDMAIL=" | ||
| + | else | ||
| + | SENDMAIL=" | ||
| + | fi | ||
| + | |||
| + | ( | ||
| + | echo -en " | ||
| + | echo -en "To: < | ||
| + | if [ ! -z " | ||
| + | then | ||
| + | echo -en "From: < | ||
| + | fi | ||
| + | echo -en " | ||
| + | echo -en "Date: $DATE\n" | ||
| + | echo -en " | ||
| + | |||
| + | echo -en "This is a multi-part message in MIME format.\n" | ||
| + | echo -en " | ||
| + | echo -en " | ||
| + | echo -en " | ||
| + | echo -en " | ||
| + | echo -en "See attached file(s)\n\n" | ||
| + | |||
| + | for ATTACHMENT in $@ | ||
| + | do | ||
| + | FILENAME=`basename $ATTACHMENT` | ||
| + | MIMETYPE=`(file -i $ATTACHMENT |awk ' | ||
| + | echo -en " | ||
| + | echo -en " | ||
| + | echo -en " | ||
| + | echo -en " | ||
| + | cat $ATTACHMENT | (eval $BASE64) | ||
| + | done | ||
| + | |||
| + | echo -en " | ||
| + | ) | (eval $SENDMAIL) | ||
| + | </ | ||
| + | |||
| + | |||
| + | or just just mutt ((http:// | ||
| + | < | ||
| + | $ mutt -s" | ||
| + | </ | ||
email.sh.txt · Last modified: by 131.211.45.44
