メール通知のテストに使う。
postfix や exim4 のメールサーバーの設定をしていて、テスト・メールを送信したいときに、手作業でsendmail コマンドを送るのは、ちょっと面倒なのと、どのメールが未到達で、どのメールが到達したか区別するのが大変なのでスクリプト書きました。
サンプルスクリプト。
サンプルスクリプトでは、連番を入れて、どのメールか識別できるようにしてて、日付と時刻をいれてそちらでも識別できるようにしておいた。
send_mail.sample.sh
#!/usr/bin/env bash function counter() { if [[ ! -f /tmp/count ]] ; then touch /tmp/count echo 1 > /tmp/count fi num=$(tail -n 1 /tmp/count) echo $(( num+1 )) > /tmp/count echo $num } ifs=$IFS IFS='' text="\ To:takuya@example.com Subject: Hello, From $(hostname) Hi, can you see me ? num:$(counter) --- takuya $(date --rfc-3339=seconds) " echo $text echo -e $text | sendmail -i -t
2019-12-13
タイプミスを修正