要件
mailx
コマンドで、以下のような日本語件名を送信したい
固定件名 - <変数:本日日付> <変数:文字列>
ソースコード
SendMail.sh
#!/bin/sh
#set -x
# カレントディレクトリで作業する
cd `dirname $0`
# 連絡先アドレス
MAILRCPT="user@fuga.fuga"
# 連絡元
FROM="root@hoge.hoge"
# オリジナルの件名(日本語のままでOK)
MAIL_SUBJECT="固定件名 DATE - TEXT"
# メール本文ファイル
MAILFILE=mail.txt
# 日付を本日日付に変更
NOW_DATE=`date '+%Y/%m/%d'`
# オリジナル件名の日付項目を本日日付に変換して、新しい変数に格納する
MAIL_SUBJECT2=`echo ${MAIL_SUBJECT/DATE/"$NOW_DATE"}`
# テキスト項目を変数に変更
HOGE_TEXT=ほげほげ
MAIL_SUBJECT2=`echo ${MAIL_SUBJECT2/TEXT/"$HOGE_TEXT"}`
echo "MAIL_SUBJECT2: $MAIL_SUBJECT2"
# 生成した件名をbase64でエンコードして、件名のprefix, suffixを付ける
SUBJECT_ENCODE=`echo -n "$MAIL_SUBJECT2" | base64 | xargs printf '=?UTF-8?B?%s?='`
# メール送信
/bin/mailx -r ${FROM} -s ${SUBJECT_ENCODE} ${MAILRCPT} < ${MAILFILE}