あるraspberry piにpostfixとdovecotで簡易的なメールサーバーを構築した。 それで、別のraspberry piマシンからも定期連絡等のメールを送れるようにする。
手法
メールを送るだけなので軽量な方法で行う。 簡単な調査だと、ssmtpを使うのが簡単そうであり、これをインストールして実現する。
インストールと設定
sudo apt install ssmtp
メールサーバーとポート番号の指定を、sudo nano /etc/ssmtp/ssmtp.conf にて行う
mailhub=192.168.0.232:587
メール送信テスト
以下のテスト用ファイルを作成する。 testmail.txt とする。
from: pi@localhost
to: receiver_name@mydomain
subject: hello-test-from-ssmtp
Content-Type: text/plain;charset="UTF-8"
this is test mail by ssmtp
次のコマンドでテストする。
cat testmail.txt | sendmail -i -t
メーラーで受信を確認。受信できていた。
あとは、シェル作成とcron設定
(2021/03/19 追記)
以下のファイル myhealth.sh を作成する
echo from: pi@localhost
echo to: wp_server@ktanimoto.net
echo subject: dns vpn daily report
echo Content-Type: text/plain;charset="UTF-8"
echo
date
echo
echo ------ memory usage -------
free -h
echo
echo ----- device usage --------
df -h
echo
/etc/cron.d/myhealth をsudo nanoで作成する(rootが所有者になるようにする)
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=""
HOME=/home/pi
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,$
# | | | | |
# * * * * * user-name command to be executed
15 */12 * * * pi bash /home/pi/mytools/myhealth.sh | sendmail -i -t
最後の行でbashの後に空白がなかったので追加(2021/3/20)
Leave a Comment