読者です 読者をやめる 読者になる 読者になる

tsujimotterの下書きノート

このブログは「tsujimotterのノートブック」の下書きです。数学の勉強過程や日々思ったことなどをゆるーくメモしていきます。下書きなので適当です。

記事一覧はこちらです。このブログの趣旨はこちら

メインブログである「tsujimotterのノートブログ」はこちら

Sendmail で添付ファイルを送るバッチファイル(メモ)

備忘録です。

あらかじめ、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