!!!とりあえず送る 文字コードとか気にせずとりあえず、手っ取り早くシェルからメールを送信する。 toAddr="aaa@bbb.cc.dd" subjString="[Log] `date +%Y%m%d`" sendMail(){ echo -e "To:${toAddr}\nSubject:${subjString}\n\n$1" | /usr/sbin/sendmail -t } sendMail "テストメール" !!!文字コードとかSubjectの長さを考慮する(NKFを使う) nkfを使ってSubject、To、Fromをエンコードする toAddr="ほげほげ " subject="[Log] `date +%Y%m%d`" sendMail(){ subjectMIME=`echo ${subject} | nkf -M` # echo -e ${subjectMIME} toAddrMIME=`echo ${toAddr} | nkf -M` # echo -e ${toAddrMIME} body=`echo -e $1 | base64` echo -e "To:${toAddrMIME}\nSubject:${subjectMIME}\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: base64\n\n$body" | /usr/sbin/sendmail -t } sendMail "テストメール" !!!文字コードとかSubjectの長さを考慮する(NKFを使わない) toAddr="aaa@bbb.cc.dd" subject="[Log] `date +%Y%m%d`" LINE_SEP=$'\n' IFS_DEFAULT=$IFS sendMail(){ subjectBase64="" lines=`echo -e ${subject} | fold -c10` sep="" IFS=${LINE_SEP} for line in ${lines}; do subjectBase64=${subjectBase64}${sep}"=?UTF-8?B?`echo -e ${line} | base64`?=" sep="\n\t" done IFS=${IFS_DEFAULT} #subject="${subjectBase64%\\n\\t}" # echo -e ${subjectBase64} body=`echo -e $1 | base64` echo -e "To:${toAddr}\nSubject:${subjectBase64}\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: base64\n\n$body" | /usr/sbin/sendmail -t } sendMail "テストメール" {{category2 プログラミング言語,Shell}}