mailコマンドで本文、添付をつけて送信する(日本語対応)

mailコマンドで色々とやってるとはまった。
なにかと、使用頻度が高そうなのでPOST。


・日本語を使用
# mail -s `echo "メールサブジェクト" | nkf -j` mailaddress

・添付ファイルをつける
# uuencode ファイル 添付ファイル名 | mail -s "メールサブジェクト" メールアドレス

・本文をつける
# echo "メッセージ" | mail -s "メールサブジェクト" メールアドレス

・送信元アドレスを指定する
# mail -s "メールサブジェクト" "送信先アドレス" -- -f "送信元アドレス"


以下複合技shell

#########################################################
# Mailに添付ファイル、本文、タイトルをつけて送る(日本語)
#########################################################

dir=/var/www/csv
yesterday=`date +%Y%m%d -d '1 days ago'`
subject="タイトル"
message="添付しておくります。"
mailaddress=aaa@bbb.co.jp

cd ${dir}
(echo $message; uuencode ${dir}${yesterday}.zip ${yesterday}.zip) | nkf -j | mail -s `echo ${subject}|nkf -j` ${mailaddress}

Cronでの実行メールを送信させない

意外と忘れるのでPOST。
Cronの実行結果はメールで自分自身に送られる。
メールがサーバ容量を圧迫してた時にわかったが、できるだけうざいので、送信しないようにする。
Cronを大量に設定してて、通知メールが不必要なら必須。


メールを送ってほしくない場合は、
* * * * * コマンドorバッチ > /dev/null
この場合はエラーが起こった時だけメールが送られてくる。
エラーが起こってもメールを送らない場合は
* * * * * コマンドorバッチ >/dev/null 2>&1