Raspberry Pi から Gmail でメールを送る方法
Raspberry pi でメール送信をしたくなって、いろいろ弄った結果の備忘録。
参考
参照させて頂いたサイト様
https://ermine.co.jp/sendmail_from_raspberry-pi/
http://eng-memo.hatenadiary.com/entry/2016/05/05/211419
https://www.raspberrypi.org/forums/viewtopic.php?t=46218&p
有用な情報をありがとうございます。
Google アプリパスワードの生成先
https://support.google.com/mail/answer/185833?hl=ja
設定方法 - Gmail 側
- アカウントを取得
- アプリパスワードを生成
Becky を使ってメール取得しているので Gmail アカウントは POP3 でのメール取得設定もやっているけど、メールを送るだけだったら必要はなさげ。
設定方法 - Raspberry Pi 側
$ sudo apt-get install ssmtp $ sudo apt-get install mailutils $ sudo apt-get install mpack
Gmail アカウントで 2 段階認証プロセスを利用しているので、アプリ パスワードを生成する。
$ sudo cp /etc/ssmtp/ssmtp.conf /etc/ssmtp/ssmtp.conf_$(date +%Y%m%d) $ sudo vi /etc/ssmtp/ssmtp.conf
内容は、まぁ、適当に。
# # Config file for sSMTP sendmail # root=<自身の Gmail アドレス> mailhub=smtp.gmail.com:587 hostname=raspberrypi AuthUser=<自身の Gmail アドレス> AuthPass=<生成したアプリパスワード> FromLineOverride=YES UseSTARTTLS=YES AuthLogin=YES
とりあえず、この設定でメール送信できた。
電源 ON したら、DHCP で取得した IP アドレスをスマホにメールさせたかったんだよね・・・。
ってことで
$ ip a | mail -s "Pow ON - IP addr" to <スマホのメアド>
うむ。
あとは、このコマンドを起動時に発行させる設定を作りこむだけだね。
追記。
設定がちょっとマズかったみたい?
メール送信のたびに、自分あてに以下のメールが届いている。
ドメイン raspberrypi が見つからなかったため、メールは to@raspberrypi に配信されませんでした。入力ミスや不要なスペースがないことを確認してから、もう一度送信してみてください。
エラー内容的には、mail コマンドで to をメアドとしてカウントし、不足しているドメイン hostname をつけて送ろうとしたけどダメだったよ…というものなので、コマンドを次の通りにすれば何の問題もないけども……。
$ ip a | mail -s "Pow ON - IP addr" <スマホのメアド>
あ、あと、こんなコマンドの使い方をみつけた。
$ hostname -I
これで IP アドレスが表示されるみたい。
えー、hostname コマンドを使うのー!?
下手したら、ホスト名が変わっちゃいそうじゃないか……
いまなら hostname --help でヘルプが出てくるのかな……こわくて試せない。