Raspberry Piからメールを送信する

塩尻ムセンのページはこちら

SoftBank 光

2018.11.16 YouTubeにチャンネルを開設しました。

2018.11.5 last updated

もう一個、新しいプロジェクトです。トイレ向けIoTの導入サービス

新しいプロジェクトを始めました。Mac/Linux使いの人がI2Cを簡単に制御するためのツールを製作しています。

=====
しばらく時間が空きました。Raspberry Piからメールを送信させるだけでも諸々考えないといけないことがありそうです。まず当社のような事業形態、つまりハードウェアをオンライショップで不特定多数のconsumerに売りたい場合です。ゲートウェイ、ここではRaspberry Piの設定は全部当社がやるわけにいかず、メールアカウントを取ったり送信先のメールアドレスを設定したり、顧客にやってもらわなければならないことがどうしても残ってしまいます。当面このような顧客サイドの面倒な設定をなくすか極力減らすことが課題として残ります。

こういう用途で使いたい場合SendGridにも課題があって、アカウントはメールを送信する人が個々に取る必要があります。ここが当社のような再販をしたい業者にとって厄介なところです。

なお、SendGridはメールマーケティングに使うことを意図しているようです。

2017.12.5

====

SendGridからテスト送信がうまくいきました。

まずこのサイトから新規登録しましょう。SendGrid社と直接契約もできるようですが、今回は代理店の構造計画研究所のサイトから入りました。どんな使い方をするのか等々を審査して使用許可を出す建前になっていますが実質一日も待たずにアカウントが取れました。あとはDashboardからAPI keyを取得して、Node-REDのsendgridノードに入力したらあっさり動きました。アカウントが取れさえすればGoogle mailよりも更に簡単だと思います。

2017.11.6

====

舌の根も乾かぬうちに前言を撤回することになりました。

実はGoogleで”Raspberry Pi”と”mail”(もしくは「メール」)を1つの窓で検索するとこのページがトップに来ることがわかったのです。だったらこのページを充実させるべきと考えを変えました。

と言うわけで、今後はできるだけRaspberry Piでメールを使おうとされている方々へこのページを使って情報提供をしていこうと思います。ただ網羅的に情報を羅列することはできませんし、するべきでもないと思うので、あくまで当社が確認し推薦できるものに限らせてもらいます。

現在は、Node-REDでGoogle mailを使う以外の方法を調査しています。一つはMailGun、もう一つはSendGridです。今日現在、Node-REDのノードにMailGunはunder developmentになっていますが、SendGridは使える状態のようです。

次回更新時はSendGridの使用感など書くことになると思います。

2017.10.31

====
これを書いている2017.10.8現在、Raspberry Piの標準OSであるRaspbianにNode-REDが最初から付いてきます。Node-REDには”e-mail”というノードが準備されており、これを使うとRaspberry Piからメールを飛ばすことが圧倒的に簡単になりました。そこでこのページについてはこれ以上のアップデートを凍結し、今後は別のページにてNode-REDを使ってゲートウェイを構築する方法について解説することにします。

===以下、今まで掲載していた文章を残しておきます。

  1. 概要
  2. 外部メールサーバ(Gmail)の設定
  3. Raspberry Pi側の設定
  4. 動作テスト

1.概要

外部サービスには、メジャーで無料で安定して稼働中(急にサービス停止にはならないことを期待する)と言う理由でGmailを使います。メールが送られる経路は以下のようになります。

Raspberry Pi –> Gmail –> 最終的に送りたいスマホやPCなど

2.外部メールサーバ(Gmail)の設定

既にGmailのユーザでも別のアカウントを作りましょう。アカウントができたら、Googleサイトの「アカウント情報」→「ログインとセキュリティ」→「接続済みのアプリとサイト」→「安全性の低いアプリの許可」を「有効」にします。

作ったアカウント、メールアドレス、パスワード、最終的に送りたいスマホやPCのアドレス、をそれぞれ以下とします。
username
username@gmail.com
userpassword
username@userdomain.com

3.Raspberry Pi側の設定

Raspberry PiにsSMTPとmailutilsというパッケージをインストールします。

$sudo apt-get install -yV mailutils
$sudo apt-get install -yV ssmtp

インストール後できた/etc/ssmtp/ssmtp.confファイルを以下のように書き換えます。

root=username@gmail.com

mailhub=smtp.gmail.com:587

hostname=username@gmail.com
AuthUser=username
AuthPass=userpassword
UseSTARTTLS=YES

4.動作テスト

$mail username@userdomain.com
Cc:(適当に入れる)
Subject:(適当に入れる)
(本文を適当に入れる)
Ctrl+D

これでメールが送られるので送った先のスマホかPCを確認してみてください。

2016.2.16
参考文献:トランジスタ技術2016年3月号P.86

=====
以下2017.9.27追記

2017.9.27現在Raspberry Piの標準OSであるRaspbianにNode-REDと言うグラフィカルなIoT向けプログラミングツールが最初から付いてきます。これを使うとRaspberry Piからメールを送るのは圧倒的に簡単に実現できます。今後当社ではNode-REDによるIoTシステムの構築方法を紹介していく中でメール送信その他の実現方法を紹介していくことにします。

2017.9.27