添付するファイルの内部変数を定義する
#!/bin/sh
export LC_ALL=C
export LANG=ja_JP.UTF-8
# ------------------------------------------------------------------------------
# 内部変数定義
# ------------------------------------------------------------------------------
target_date=`/bin/date -d "0 days ago" '+%Y-%m-%d'` # 当日日付を設定
before_ymd=`date --date "1 day ago" "+%Y-%m-%d"` # 前日日付を設定
csv_filename=temp_user_${before_ymd}.csv
csv_dir=/home/temp/test_data
csv_file=${csv_dir}/${csv_filename}
メールの転送元と転送先アドレスと、メール文章本文を書きかえる
# ------------------------------------------------------------------------------
# メール関数定義
# ------------------------------------------------------------------------------
mail_data() {
to_address={送信先アドレスを指定}
echo "MIME-Version: 1.0
From:{送信元メールアドレスを指定}
To: ${to_address}
Subject: [test_data]【auto_mail】:${target_date} ### メールのタイトル
Content-Type: multipart/mixed;
boundary=\"---------${target_date}\"
-----------${target_date}
Content-Type: Text/Plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit
{~メール文章をここに記述する~}
-----------${target_date}
Content-Type: application/octet-stream;
name=\"${csv_filename}.zip\"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename=\"${csv_filename}.zip\"
" | nkf -j -m0
/bin/cat ${csv_file}.zip | /usr/bin/openssl enc -e -base64
echo ""
echo "-----------${target_date}"
}
メールに添付するCSVを作成する
# ------------------------------------------------------------------------------
# 添付csv作成
# ------------------------------------------------------------------------------
/usr/bin/nkf -s --overwrite /var/www/app/test_user/temp_user_${before_ymd}.csv #CSVファイル内を UTF-8へ変換(日本語の文字化けを防ぐ)
cp /var/www/app/test_user/temp_user_${before_ymd}.csv ./ # 添付対象ファイルをカレントディレクトリへコピー
cd ${csv_dir}; /usr/bin/zip -r ${csv_filename}.zip ./${csv_filename} # 添付対象ファイルを圧縮する
メール関数定義で作成した情報を配信する
# ------------------------------------------------------------------------------ # メール配信 # ------------------------------------------------------------------------------ mail_data | /usr/sbin/sendmail -t # sendmail機能を利用してメール送信
これでメール配信シェルが完成。
後はcrontabに登録して自動配信等で利用する。



