備忘録です。
あらかじめ、attached.tar.gz のように tarボールで固めておいたファイルを xxxx@gmail.com 宛てに送ります。
念のため tar の圧縮の方法を書いておくと
# tar の圧縮
$ tar cfvz attached.tar.gz attached/
です。
あとは、以下のスクリプトを実行するだけ
#/bin/sh # commands. SENDMAIL=/usr/lib/sendmail ECHO=/bin/echo GZIP=/bin/gzip CAT=/bin/cat RM=/bin/rm # attachment file info. ATTACH_FILE=attached.tar.gz ATTACH_PATH=/tmp/$ATTACH_FILE # mail head settings. MAIL_BODY=/tmp/mail_body.txt MAIL_FROM=xxxx@gmail.com MAIL_TO=xxxx@gmail.com MAIL_SUBJECT="ATTACHMENT FILE TRANSFER." MAIL_BOUNDARY=`date +%Y%m%d%H%M%N` TIME_STAMP=`date +"%Y-%m-%d %H:%M:%S"` # attachment file move. mv ./${ATTACH_FILE} /tmp cd /tmp # make body. $ECHO "Attached file is created at ${TIME_STAMP}" > $MAIL_BODY # send mail. $SENDMAIL -t << EOF From: ${MAIL_FROM} To: ${MAIL_TO} Subject: ${MAIL_SUBJECT} MIME-Version: 1.0 Content-type: multipart/mixed; boundary=${MAIL_BOUNDARY} Content-Transfer-Encoding: 7bit --${MAIL_BOUNDARY} Content-type: text/plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit `${CAT} ${MAIL_BODY}` --${MAIL_BOUNDARY} Content-type: application/zip; name=${ATTACH_FILE} Content-Transfer-Encoding: base64 Content-Disposition : attachment; filename=${ATTACH_FILE} `${CAT} ${ATTACH_PATH} | base64` --${MAIL_BOUNDARY}-- EOF $RM -fr ${ATTACH_PATH}
参考サイト:qiita.com