はじめに
ラズベリーパイにmsmtpのインストールについて記事があまり見つからないので、自分用備忘録がてら書きます。
けど、こちらを参考にしました。
そもそも
LS220Dを入手し、SSHで入れるようにしAWSCLIでS3へのアップロードを試みました。
上手くいかず、LS220DはNAS専用機としました(当たり前ですが)。
VPNやSMBサーバーを兼ねているラズパイにて、AWSCLIをインストール、ここからLS220Dの中身をS3にバックアップする方法を取っています。
この中で、ログの取得や、実行失敗時にメールにて通知をさせたい背景があります。
事前情報
本当は大好きGmailなんですが、たまに二段階認証とかで躓いたり、改変されたりするので、
BCP的な観点からも今回は、プロバイダ支給のメールアドレスに設定します。
定期的にプロバイダも入れ替えているので、メールアドレスや設定更新に心が折れないかが心配です。
インストール
sudo apt update
sudo apt install msmtp msmtp-mta
設定内容
$ cat ~/.msmtprc
defaults
account biglobe
host mail.biglobe.ne.jp
port 587
user xxxxxxx@xxx.biglobe.ne.jp
password yyyyyy
from xxxxxxx@xxx.biglobe.ne.jp
tls on
tls_starttls on
tls_certcheck on
auth on
account default : biglobe
所有権類の変更
sudo chown hogeuser:hogeuser /home/hogeuser/.msmtprc
chmod 600 /home/hogeuser/.msmtprc
テスト
echo -e "Subject: test of subj\n\ntest of text" | msmtp -v example1@gmail.com
エラーではないですが、色々出てきますが、メール送信できました。
このあたりも丁寧にやりたい方は、上記のリンク先などを参照されるといいと思います。
パスワードも平文で書くのがだめだとかもあると思います。
細かい部分は抜きにして、まずは大枠の動作確認まででした。
いろいろなスクリプトや、crontabで定期送信させて、遊びましょう。
実は。。。
最近は、事前テストと称して、WSL2のdebianで前もって実行・検証しています。
Windows上の仮想環境で、実環境にsshする手間や、環境が汚れる恐れがなくなります。
上記は下記の環境で一旦テストしています。
$ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
debianのみならず、いろいろなディストリビューションで遊べます。
ですが、pipを使ったインストール時には色々言われてめんどいです。
$ pip3 install requests
error: externally-managed-environment
× This environment is externally managed
╰─> To install Python packages system-wide, try apt install
python3-xyz, where xyz is the package you are trying to
install.
完全な解決ではありませんが、下記で一時しのぎできます。
pip3 install requests --break-system-packages