I don't use this all the time, but some of our email distribution processing uses the following...
Code:
$ cat $CC_BATCH/email_dispatch.sh | more
send_file()
{
# Initialize sent flag
sent_flag=0
echo 'Reply-To: '$REPLY_ADDR >$TMP_PATH_FILE
echo 'To: '${TO_ADDR} >>$TMP_PATH_FILE
echo 'Cc: '$CC_ADDR >> $TMP_PATH_FILE
echo 'From: '$FROM_ADDR >> $TMP_PATH_FILE
echo 'Mime-Version: 1.0' >>$TMP_PATH_FILE
echo 'Subject: '$SUBJECT >>$TMP_PATH_FILE
echo 'Content-Type: multipart/mixed; boundary="PARTBOUNDARY"' >>$TMP_PATH_FILE
echo '--PARTBOUNDARY' >>$TMP_PATH_FILE
echo 'Content-Type: text/plain; charset="us-ascii"' >>$TMP_PATH_FILE
echo 'This mail has an attachment' >>$TMP_PATH_FILE
echo '--PARTBOUNDARY' >>$TMP_PATH_FILE
echo 'Content-Description: Text' >>$TMP_PATH_FILE
echo 'Content-Type: text/plain; charset="us-ascii"' >>$TMP_PATH_FILE
echo 'Content-Disposition: attachment; filename="'$ATTACH_FILE_NAME'"' >>$TMP_PATH_FILE
echo >>$TMP_PATH_FILE
if [ -s $ATTACH_FILE ]
then
cat $ATTACH_FILE >>$TMP_PATH_FILE
echo >>$TMP_PATH_FILE
fi
echo '--PARTBOUNDARY--' >>$TMP_PATH_FILE
}
# main script
# setup environment
# Check if lock File from req_proc exists
# get params
if [ 1 ]
then
echo '**** Email Dispatch process commencing' `date` '****' >> $EML_LOG_FILE
if [ "$TO_ADDR" = "" ] || [ "$FROM_ADDR" = "" ] || [ "$REPLY_ADDR" = "" ] || [ "$SUBJECT" = "" ] || [ "$ATT
ACH_FILE" = "" ] || [ "$EML_LOG_FILE" = "" ];
then
echo "ERROR: Argument missing for email_dispatch script." >> $EML_LOG_FILE
echo "TO_ADDR" $TO_ADDR >> $EML_LOG_FILE
echo "FROM_ADDR" $FROM_ADDR >> $EML_LOG_FILE
echo "REPLY_ADDR" $REPLY_ADDR >> $EML_LOG_FILE
echo "SUBJECT" $SUBJECT >> $EML_LOG_FILE
echo "ATTACH_FILE" $ATTACH_FILE >> $EML_LOG_FILE
echo "EML_LOG_FILE" $EML_LOG_FILE >> $EML_LOG_FILE
echo '**** Email Dispatch process completed' `date` '****' >> $EML_LOG_FILE
return 1
fi
ATTACH_FILE_NAME=`echo $ATTACH_FILE | sed '1,$s/.*\///'`
TMP_PATH_FILE=/tmp/$ATTACH_FILE_NAME.eml
if [ -f $TMP_PATH_FILE ]
then
echo "Error: Temporary file exists. "$TMP_PATH_FILE >> $EML_LOG_FILE
echo '**** Email Dispatch process completed' `date` '****' >> $EML_LOG_FILE
return 1
else
> $TMP_PATH_FILE
fi
send_file
# Mail file
sleep 1
mail ${TO_ADDR},${CC_ADDR} < $TMP_PATH_FILE >> $EML_LOG_FILE
sleep 1
# Clean up
rm $TMP_PATH_FILE >> $EML_LOG_FILE
echo '**** Email Dispatch process completed' `date` '****' >> $EML_LOG_FILE
fi 2>> $EML_LOG_FILE