ssmtpを設定してメールを送信する方法は?


9

私はラズベリーパイに新しいです。

私はそれにラスピアンOSをインストールしました。Gmailアカウントを使用してメールを送信したい。コマンドラインインターフェイスとphpスクリプトから送信したいです。

私はこのガイドに従いました。 http://iqjar.com/jar/sending-emails-from-the-raspberry-pi/

リンクからステップ1、2、3、4を実行しました。

以下のコードを使用してメールを送信すると

echo "Test text" | mail -s "Test Mail" me2@gmail.com

何も起こらない、画面に何も表示されない、メールが届かない。

「revaliases」で、「mail.google」を「smtp.gmail」に置き換えると、次のようなメッセージが返されます。

send-mail: Cannot open mail.google.com:587

または

send-mail: Server didn't like our AUTH LOGIN (530 5.7.0 Must issue a STARTTLS command first. ml2sm3592928igb.10 - gsmtp)

誰かがこれを修正する方法を知っていますか?ありがとう

以下は2つのファイルです。

ssmtp.conf

#
# Config file for sSMTP sendmail
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
# root=postmaster

# The place where the mail goes. The actual machine name is required no 
# MX records are consulted. Commonly mailhosts are named mail.domain.com
# mailhub=mail

# Where will the mail seem to come from?
#rewriteDomain=

# The full hostname
hostname=raspberrypi

# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES


root=me@gmail.com
mailhub=smtp.gmail.com:587
AuthUser=me@gmail.com
AuthPass=mypass
UseSTARTTLS=YES

改定

# sSMTP aliases
# 
# Format:   local_account:outgoing_address:mailhub
#
# Example: root:your_login@your.domain:mailhub.your.domain[:port]
# where [:port] is an optional port number that defaults to 25.

root:me@gmail.com:mail.google.com:587

2
これは特定のラズベリーの質問ではありません。試してみてください:-unix.stackexchange.com
Milliways

このraspberry.znix.com/2013/03/postfix-better-solution-for-rpi.htmlをご覧ください。また、Googleで2factor authを使用する場合は、Web経由でGmailにログインするときに使用するパスワードではなく、アプリ固有のパスワードを使用する必要があります。
Steve Robillard、

アプリ固有のパスワードを取得するにはどうすればよいですか?
オメガ

試しましたUseSTARTTLS=NOか?
ゴルディロックス

はい、しかしそれはまだ機能しませんでした。
オメガ

回答:


4

あなたはおそらくそれを今では理解しているでしょうが、私はあなたのssmtp.confファイルに気づきました:root=me@gmail.com

しかし、あなたが投稿したリンクでは、それは言う:root = postmaster

私はそれをそのままにして、他のme@gmail.comパーツを変更しただけでうまくいきました。しかし、あなたの助けをありがとう、それは私の道を私にもたらしました...


2

実際、何もインストールする必要はありません。Eximは既にRaspbianにインストールされていますが、デフォルトではローカルに留まるように設定されています。"update-exim4.conf.conf" "dc_eximconfig_configtype = 'satellite' etc."ファイルを変更するだけです。


1

まったく同じ問題がありました。

smtpクライアントが安全でないとしてブラックリストに登録されているため、gmailがリクエストをブロックしていることが判明しました(おそらくハートブリードバグの影響を受けるクライアントの1つです)

ここでGmailの設定で安全性の低いクライアントを許可できます:https ://support.google.com/accounts/answer/6010255?hl=ja

または、可能であれば、SMTPクライアントの新しいバージョンにアップグレードします


1

私はあなたがこれを探していると思います:

/unix/363814/simplest-way-to-send-one-line-mail-out-via-command-line-using-gmail

抜粋:

1行のメッセージを送信する答えは、ssmtpを使用することです

次のコマンドでインストールします。

sudo apt-get update
sudo apt-get install ssmtp

次に、/ etc / ssmtpに移動し、ssmtp.confを次のように編集します。

root=rpi3abc@gmail
mailhub=smtp.gmail.com:465
FromLineOverride=YES
AuthUser=rpi3abc@gmail.com
AuthPass=testing123
UseTLS=YES

そのようなワンライナーを送ってください:

echo "Testing...1...2...3" | ssmtp myusername@gmail.com

ファイル全体をcatして、メッセージとしてパイプすることもできます。


画像ファイルを添付ファイルとして送信する場合は、次のようにします。

/unix/381131/simplest-way-to-send-mail-with-image-attachment-from-command-line-using-gmail

基本的には同じですが、以下が追加されます。

mpackをインストールします。

apt-get update
sudo apt-get install mpack

次に、次のように添付ファイルとして画像を送信します。

mpack -s "P&L Proj 2018" /home/pi/Desktop/finance/PL18.png importantdude@gmail.com

ファイルが現在のディレクトリにある場合、添付ファイルへの完全修飾パスを使用する必要はありません。

また、cronで使用する場合、ジョブは常にユーザーのホームディレクトリで実行されるため、添付ファイルへの完全なディレクトリパスを使用することをお勧めします。

出来上がり。それでおしまい。簡単にできませんでした。

Raspbianとそれ以降のバージョンのUbuntuの両方で動作します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.