# Bourne shell code to send out multiple attachments # This code was ripped out of an autoresponder script # Uses mime.types file ($MIMECONF) with following format: # Ext:Mime/type # doc:application/msword # pdf:application/pdf # gif:image/gif SENDER=some_user@some.domain TOPDIR=/usr/local/lib/autoresponder FILEDIR=${TOPDIR}/files MAILFILE=/tmp/autoresponder.mail WRKFILE=/tmp/autoresponder.wrk ERRFILE=/tmp/autoresponder.err MIMECONF=/usr/local/lib/mime.types TXTFILE=/a/text/file DOCS="word.doc excel.xls chart.pdf" echo "\nThis is a MIME multipart mail message.\n" > $WRKFILE echo "--boundary-line" >> $WRKFILE echo "Content-Type: text/plain; charset=US-ASCII\n" >> $WRKFILE cat $TXTFILE >> $WRKFILE for DOC in $DOCS do FILE=${FILEDIR}/${DOC} EXT=`echo $DOC | cut -d"." -f2` # See if the file has a known MIME type for the extension MIMETYPE=`grep -i "^${EXT}:" $MIMECONF | cut -d":" -f2` if [ "$MIMETYPE"x = "x" ] then ERRSUBJECT="Errors in autoresponder mime.types file" echo "The document \"$DOC\" in for the following line did" >> $ERRFILE echo "not have corresponding MIME type for the file extension \"${EXT}\". Please" >> $ERRFILE echo "correct the problem." >> $ERRFILE echo $DOC >> $WRKFILE else echo "\n--boundary-line" >> $WRKFILE case $EXT in TXT|txt) echo "Content-Type: text/plain\n" >> $WRKFILE cat $FILE >> $WRKFILE ;; HTM|htm) echo "Content-Type: text/html;" >> $WRKFILE echo " name=\"$DOC\"" >> $WRKFILE echo "Content-Transfer-Encoding: 7bit" >> $WRKFILE echo "Content-Disposition: attachment;" >> $WRKFILE echo " filename=\"$DOC\"\n" >> $WRKFILE cat $FILE >> $WRKFILE ;; *) echo "Content-Type: $MIMETYPE;" >> $WRKFILE echo " name=\"$DOC\"" >> $WRKFILE echo "Content-Transfer-Encoding: base64" >> $WRKFILE echo "Content-Disposition: attachment;" >> $WRKFILE echo " filename=\"$DOC\"\n" >> $WRKFILE /usr/local/bin/mmencode $FILE >> $WRKFILE ;; esac fi done echo "\n--boundary-line--" >> $WRKFILE echo "From: you@your.domain (Your Name)" > $MAILFILE echo "Reply-To: you@your.domain" >> $MAILFILE echo "To: $SENDER" >> $MAILFILE echo "Subject: Whatever you want" >> $MAILFILE echo "Mime-Version: 1.0" >> $MAILFILE echo "Content-Type: multipart/mixed; boundary=\"boundary-line\"" >> $MAILFILE echo "X-Mailer: My Autoresponder v1.0" >> $MAILFILE echo "X-Credit: MIME encoding using \"metamail\"" >> $MAILFILE echo "\n" >> $MAILFILE if [ -f $WRKFILE ] then cat $WRKFILE >> $MAILFILE fi if [ -f $ERRFILE ] then mailx -s"Autoresponder error" postmaster < $ERRFILE fi if [ -f $MAILFILE ] then /usr/lib/sendmail -t $SENDER < $MAILFILE fi rm -f $WRKFILE $MAILFILE $ERRFILE