Linuxのコマンドラインからメールを送信するスクリプトを作成(正しくはwebの内容を改変)した。
- 添付ファイル可能(0でも複数でも)
使用する機会は今の所ほとんどないと思う……
詳しくはwikiで。
#!/bin/bash ############################ ## メール添付ファイルスクリプト ## コマンドラインから添付付きメールを送信するスクリプトです. ## ## send_mail.sh {toアドレス} {タイトル} {本文ファイル} [{添付ファイル名}...] ## ############################ ## Init section from_addr='ara_t@po.mdu.ac.jp' to_addr=$1 subject=`echo $2 | nkf -w -Lu` mail=`cat $3 | nkf -w -Lu` shift; shift; shift boundary=`date +%Y%m%d%H%M%N` ## generate MIME encoded mail echo "From: $from_addr" > .MIME_MAIL.tmp echo "To: $to_addr" >> .MIME_MAIL.tmp echo "Subject: $subject" >> .MIME_MAIL.tmp echo "MIME-Version: 1.0" >> .MIME_MAIL.tmp echo "Content-type: multipart/mixed; boundary=\"----$boundary\"" >> .MIME_MAIL.tmp echo "Content-Transfer-Encoding: 7bit" >> .MIME_MAIL.tmp echo "" >> .MIME_MAIL.tmp echo "This is a multi-part message in MIME format." >> .MIME_MAIL.tmp echo "" >> .MIME_MAIL.tmp ## Insert MAIL_BODY (if you need) echo "------$boundary" >> .MIME_MAIL.tmp echo "Content-type: text/plain; charset=utf-8" >> .MIME_MAIL.tmp echo "Content-Transfer-Encoding: 7bit" >> .MIME_MAIL.tmp echo "" >> .MIME_MAIL.tmp echo "$mail" >> .MIME_MAIL.tmp echo "" >> .MIME_MAIL.tmp ## Attach file to E-Mail while [ $# -ge 1 ] ; do attach_file=$1 filename=`echo $attach_file | sed -e "s/.*\/\(.*$\)/\1/"` content_type=`file --mime $attach_file | cut -d' ' -f2` echo "------$boundary" >> .MIME_MAIL.tmp echo "Content-type: $content_type" >> .MIME_MAIL.tmp echo " name=$filename" >> .MIME_MAIL.tmp echo "Content-Transfer-Encoding: base64" >> .MIME_MAIL.tmp echo "Content-Disposition : attachment;" >> .MIME_MAIL.tmp echo " filename=$filename" >> .MIME_MAIL.tmp echo "" >> .MIME_MAIL.tmp cat $filename | base64 >> .MIME_MAIL.tmp echo "" >> .MIME_MAIL.tmp shift done echo "------$boundary--" >> .MIME_MAIL.tmp ## Send E-Mail /usr/sbin/sendmail -i $to_addr < .MIME_MAIL.tmp ## Delete TEMP file rm -f .MIME_MAIL.tmp exit 0
コメントを残す