web-dev-qa-db-ja.com

Raspberry PI-GMAIL SMTPサーバーを使用してコマンドラインからメールを送信する

Gmailアカウントを使用してRaspberry Piからメールを送信するにはどうすればよいですか?

コマンドラインからメールを送信し、スクリプトでこの方法を使用したいと思います。

環境:

Hardware: Raspberry Pi 3
OS: Jessie
SMTP: smtp.gmail.com
6
mikia

私はRaspberry Pi 3デバイスでこの方法を使用しています。

Googleアカウント設定

  1. Gmailアカウントにログインします
  2. 移動:設定->アカウントとインポート->その他のGoogleアカウント設定
  3. 移動:個人情報とプライバシー->アカウントの概要
  4. 移動:サインインとセキュリティ->アプリとサイトの接続
  5. 安全性の低いアプリを許可するオプションをオンに設定します

SSMTPのインストール
Sudo apt-get install ssmtp

元のconfファイルを保存
Sudo mv /etc/ssmtp/ssmtp.conf /etc/ssmtp/ssmtp.conf.bak

新しいconfファイルを作成(viまたはその他のテキストエディタを使用)
Sudo vi /etc/ssmtp/ssmtp.conf

ファイルの内容

[email protected]
mailhub=smtp.gmail.com:587

FromLineOverride=YES
[email protected]
AuthPass=your_password
UseSTARTTLS=YES
UseTLS=YES

# Debug=Yes

安全なconfファイル

Sudo groupadd ssmtp
Sudo chown :ssmtp /etc/ssmtp/ssmtp.conf

このステップで「アクセスできません」などのエラーが発生した場合は、ssmtpファイルを見つけてそのパスを使用する必要があります。Sudo find/-name "ssmtp"

Sudo chown :ssmtp /usr/sbin/ssmtp
Sudo chmod 640 /etc/ssmtp/ssmtp.conf
Sudo chmod g+s /usr/sbin/ssmtp

(1つのみ)コマンドラインからメールを送信

echo "This is a test" | ssmtp recipient.address@some_domain.com

または

printf "To: recipient.address@some_domain.com\nFrom: RaspberryPi3\nSubject: Testing send mail from Raspberry\n\nThis is test. Best Regards!\n" | ssmtp -t

test.txtファイルからメールを送信
同様の内容のファイルを作成します:

To: recipient.address@some_domain.com
From: [email protected]
Subject: Testing send mail from Raspberry

This is test mail (body)

Best Regards!

ファイルからメールを送信できるようになりました

ssmtp recipient.address@some_domain.com < test.txt

それで全部です :)

19
mikia