Raspberry Pi から Gmail でメールを送る方法

Raspberry pi でメール送信をしたくなって、いろいろ弄った結果の備忘録。

設定方法 - 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 でヘルプが出てくるのかな……こわくて試せない。