コマンドラインでファイルを添付してメールしましょう
以下のようなスクリプトを書いてみました。備忘録として、アップしておきます。 #!/usr/local/bin/bash# DEBUG=1PrintUsage(){cat<Usage: $0 FromAddress ToAdress Subject Attachement --- FromAddress is This mail Sender. ToAdress is Sendto this Mail. Subject is Mail Subject Attachement is Atachement file name.EOM}if [ $# -ne 4 ];then if [ ${DEBUG} ];then echo "!! DEBUG:\$# is $#" >&2 fi PrintUsage exit 1fiif [ ${DEBUG} ];then echo "\${1} is ${1}" echo "\${2} is ${2}" echo "\${3} is ${3}" echo "\${4} is ${4}"fi## Init sectionFADRES="${1}"TADRES="${2}"SUBJECT="${3}"BOUNDARY=`date "+%Y%m%d%H%M%N"`ARCVNAME="${4}"FILENAME=`echo "${4}" | sed -e "s/.*\/\(.*$\)/\1/"`CONTTYPE=`file --mime ${4} | cut -d' ' -f2`MAIL_TMP=".MIME_MAIL.tmp"if [ ${DEBUG} ];then echo "\${FADRES} is ${FADRES}" echo "\${TADRES} is ${TADRES}" echo "\${SUBJECT} is ${SUBJECT}" echo "\${BOUNDARY} is ${BOUNDARY}" echo "\${CONTTYPE} is ${CONTTYPE}" echo "\${FILENAME} is ${FILENAME}" echo "\${MAIL_TMP} is ${MAIL_TMP}" exit 99fiPrintScale(){cat<0--------1---------2---------3---------4---------5---------6---------7---------812345678901234567890123456789012345678901234567890123456789012345678901234567890EOSCALE}PrintMailHeader(){cat<From: $FADRESTo: $TADRESSubject: $SUBJECTMIME-Version: 1.0Content-type: multipart/mixed; boundary="----${BOUNDARY}"Content-Transfer-Encoding: 7bitThis is a multi-part message in MIME format.EOHEAD}PrintMailBody(){cat<------${BOUNDARY}Content-type: text/plain; charset=us-asciiContent-Transfer-Encoding: 7bitGenerated by ${0} on `date "+%Y/%m/%d %H:%M:%S"`EOBODY}PrintAttachFile(){cat<------${BOUNDARY}Content-type: ${CONTTYPE} name=${FILENAME}Content-Transfer-Encoding: base64Content-Disposition : attachment; filename=${FILENAME}`b64encode ${ARCVNAME} ${FILENAME}`------${BOUNDARY}--EOA}# ==================================================================## generate MIME encoded mailtouch ${MAIL_TMP}PrintMailHeader >> ${MAIL_TMP}## Insert MAIL_BODY (if you need)PrintMailBody >> ${MAIL_TMP}PrintScale >> ${MAIL_TMP}## Attach filePrintAttachFile >> ${MAIL_TMP}## Send E-Mail# /usr/sbin/sendmail -i $TADRES < ${MAIL_TMP}if [ ${DEBUG} ];then cat ${MAIL_TMP} exit 9fisendmail -t < ${MAIL_TMP}## Delete TEMP filerm -f ${MAIL_TMP}exit 0