シェルスクリプトで記述した ここではfiledirのfilename.txtを添付し、メールを送信する
ヘッダー部分
#!/bin/sh MAILTO="xxx.com" MAILFROM="yyy.com" FILEDIR=/filedir MAILFILE=/var/tmp/mail.txt MAILSUB="subject" FILENAME=filename.txt echo "To:"${MAILTO} > $MAILFILE echo "FROM:"${MAILFROM} >> $MAILFILE echo "Subject:Test" >> $MAILFILE echo 'Content-Type: multipart/mixed; boundary="SECTION"' >> $MAILFILE echo "" >> $MAILFILE
ボディー部分
# 添付ファイルを圧縮する cd /filedir zip filename.zip filename.txt CR=$(printf '\r') #Base64エンコード echo '--SECTION' >> $MAILFILE echo 'Content-Transfer-Encoding: base64' >> $MAILFILE echo 'Content-Type: text/plain; charset="UTF-8"' >> $MAILFILE echo '' >> $MAILFILE cat ${MAILFILE} | \ sed "/^\$/s/\$/$CR/" | \ sed "/[^$CR]\$/s/\$/$CR/" | \ base64 >> $MAILFILE #Base64エンコード #マルチパート内ヘッダーを付加 echo '--SECTION' >> $MAILFILE echo 'Content-Transfer-Encoding: base64' >> $MAILFILE echo "Content-Type: application/zip; name=filename.zip" >> $MAILFILE echo "Content-Disposition: attachment; filename=filename.zip" >> $MAILFILE echo '' >> $MAILFILE cat $LOGFILENAME | base64 >> $MAILFILE echo '--SECTION--' >> ${MAILFILE}
メールを送信 圧縮したファイルを削除
cat $MAILFILE | sendmail -i -t rm -v $FILENAME
参考URL:https://qiita.com/richmikan@github/items/a3a6d1a29982ae5868f1