このエントリーをはてなブックマークに追加
facebooktwittergoogle_plusredditpinterestlinkedinmail

こんにちは、tapunです。

Raspberry Pi

前回はRaspberry Piのカメラモジュールを使って写真を撮影する方法をお伝えしました。

でも、写真を撮ってもRaspberry Piのローカルに保存しっぱなしでは意味がないですよね?

今日は、Raspberry PiからGmailを使ってメールを送るための設定をご紹介します。
私は普段Raspberry Piで撮影した写真をGmailに添付して自分に送ったりしています!


どうやってメールを送るの?

一般的にLinuxマシンからメールを送る方法といえば、sendmailやPostfixのようなMTAをインストールする方法が多いかと思いますが、設定が面倒だしセキュリティのことも考えないといけないし~、、で面倒なので、今回は色々調べた結果、別の方法をとる事にしました。

sSMTPというシンプルなMTA(実際にはISPのMTAに接続する感じ)を使うことにしました!

Postfixなどと比べると設定が非常に簡単で、リモートのSMTPサーバ、認証情報(ユーザー名とパスワード)、送信メールに表示する送信元ドメインなどをメールクライアントと似た感じで設定するだけでOKです!


sSMTPのインストール

  1. sSMTPをインストールします。
    $ sudo apt-get install -y ssmtp
  2. インストールが完了したら,/etc/ssmtp/ssmtp.conf を開きます。
    $ vi /etc/ssmtp/ssmtp.conf
  3. リモートで使うSMTP サーバの設定を入れます。
    今回はGmailのメールサーバを使いますので、「root」と「mailhub」の部分を下記のように編集します。
    root=*****@gmail.com       ←自分のメールアドレス
    mailhub=smtp.gmail.com:587 ←SMTPサーバのアドレス
  4. 同じ設定ファイルに、GmailのSMTP サーバにアクセスするための認証情報を追記します。
    AuthUser=*****@gmail.com ←自分のメールアドレス
    AuthPass=password ←Gmailのパスワード※
    UseSTARTTLS=YES ←メールの暗号化設定、Gmailを使う場合はYES。

    注意!
    Gmail の二段階認証をオンにしている場合は、こちらからアプリパスワードを発行して、それを password のところにコピペしましょう。
    参考:Googleのヘルプページ:https://support.google.com/mail/answer/185833?hl=ja

    これでsSMTPの設定は完了です。


mailコマンドをインストール

メールを送るためのコマンド”mail”を使えるようにするために、”mailutils”をインストールします。

$ sudo apt-get install -y mailutils

メール送信テスト

メール送信テストをしましょう。
送り先はケータイでなくても何でもオッケーです。

$ mail XXX@i.softbank.jp
Cc:
Subject:This is test
hello, this is test mail from raspberry pi.
(本文を書き終えたら、"Ctrl + d" を押します:EOT)

無事にメールが届いたら、単純なメールの送信をする設定は完了です!


写真を添付するのはどうやるの?

実はこのsSMTPは機能がシンプルが故に、添付ファイルを付けられません
なのでこのままでは写真を送ることが出来ません。

そもそもラズパイで撮影した写真を送るためにメールの設定もしているので、ネットで色々調べた結果、MuttというメールクライアントソフトをsSMTPと組み合わせることで添付ファイル付メールの送信ができそうだったので、やってみました!
# ちなみにmuttだけではメールの送信ができませんので、メールサーバと組み合わせる必要があります。


Muttのインストールと添付ファイルの送信

  1. Muttをインストールします
    $ sudo apt-get install -y mutt

  2. ユーザユーザフォルダにあるMuttの設定ファイル(.muttrc)を編集します。
    $ vi $HOME/.muttrc
    set sendmail="/usr/sbin/ssmtp" # smtpクライアント。今回はsSMTPを指定。
    set realname="Report sender" # メールの差出人名
    set from="XXXX@host.jp" # 受信者のメールクライアントで「From:」に表示させるメールアドレス

    ※他のブログだとsendmail=”/usr/local/sbin/ssmtp”と記載があったりしましたが、その設定だと私はメール送信に失敗したので色々試した結果、上記の設定に落ち着きました。


muttコマンドで添付ファイルをつけてメールを送信してみます

  1. 下記のコマンドでメールを送信します。
    $ mutt -s "Subject" "送信先アドレス" -c "CCアドレス" -a "添付ファイルのフルパス" < "本文のtxtファイルのパス"

    コマンド例

     

    mutt -s "photo from raspi" hoge@gmail.com -c "XXX@gmail.com" -a /home/tapun/test.jpg
    < /home/tapun/photo_message.txt

    ※上記の例では、あらかじめ、/home/tapun/photo_message.txtというファイルを作って、そこにメール本文を記載しておく必要があります。

  2. コマンドを実行すると、添付ファイル付のメールが送られます!

まとめ

今回は、Raspberry PiにsSMTPMuttというソフトウェアを入れてGmailのメールサーバを使う設定をしたことで、コマンドを使って写真をGmail経由で送ることが出来るようになりました。

次回は、写真撮影とメール送信を自動で定期的に実行するためのクーロン設定についてご紹介しようと思います!:)

 

おやすみなさい!


Raspberry Pi ブログランキングへ