Wie richte ich ssmtp ein und sende E-Mails?


9

Ich bin neu in Himbeer-Pi.

Ich habe das Raspian-Betriebssystem darauf installiert. Ich möchte E-Mails mit meinem Google Mail-Konto senden. Ich möchte von der Kommandozeilenschnittstelle und von PHP-Skripten senden.

Ich folgte dieser Anleitung. http://iqjar.com/jar/sending-emails-from-the-raspberry-pi/

Ich habe die Schritte 1,2,3,4 über den Link ausgeführt.

Wenn ich eine E-Mail mit dem folgenden Code mit sende

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

Es passiert nichts, es wird nichts auf dem Bildschirm gedruckt und ich bekomme keine E-Mail.

Wenn ich bei "revaliases" "mail.google" durch "smtp.gmail" ersetze, erhalte ich eine Nachricht mit der Aufschrift "

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

oder

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

Weiß jemand, wie man das behebt? Vielen Dank

Hier sind die beiden folgenden Dateien:

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

Revaliasen

# 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
Dies ist keine spezielle Himbeer-Frage, die Sie anprobieren sollten: - unix.stackexchange.com
Milliways

Schauen Sie sich das an raspberry.znix.com/2013/03/postfix-better-solution-for-rpi.html . Wenn Sie 2factor auth mit Google verwenden, müssen Sie ein app-spezifisches Passwort verwenden, nicht das Passwort, mit dem Sie sich über das Web bei Google Mail anmelden.
Steve Robillard

Wie bekomme ich das app-spezifische Passwort?
Omega

Hast du es mit versucht UseSTARTTLS=NO?
Goldlöckchen

Ja, aber es hat immer noch nicht funktioniert.
Omega

Antworten:


4

Sie haben es wahrscheinlich schon herausgefunden, aber ich habe festgestellt, dass Sie in Ihrer Datei ssmtp.conf Folgendes haben: root=me@gmail.com

In dem von Ihnen geposteten Link heißt es jedoch: root = postmaster

Ich habe es so belassen und nur die anderen Teile von me@gmail.com geändert und es funktioniert für mich. Vielen Dank für Ihre Hilfe, es hat mich auf den Weg gebracht ...


2

In der Tat müssen Sie nichts installieren. Exim ist bereits auf Raspbian installiert, aber standardmäßig so konfiguriert, dass es lokal bleibt. Sie müssen nur die Datei "update-exim4.conf.conf" "dc_eximconfig_configtype = 'Satellit' usw." ändern.


1

Ich hatte das gleiche Problem.

Es stellte sich heraus, dass Google Mail die Anfrage blockierte, weil der SMTP-Client als nicht sicher auf die schwarze Liste gesetzt wurde (wahrscheinlich ist er einer der Clients, die von dem Heartbleed- Fehler betroffen sind ).

Sie können weniger sichere Clients in Ihren Google Mail-Einstellungen hier zulassen: https://support.google.com/accounts/answer/6010255?hl=de

oder, noch besser, aktualisieren Sie nach Möglichkeit auf eine neuere Version des SMTP-Clients


1

Ich denke, Sie suchen das:

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

AUSZUG:

Die Antwort auf das Senden einzeiliger Nachrichten ist die Verwendung von ssmtp

Installieren Sie es mit den folgenden Befehlen:

sudo apt-get update
sudo apt-get install ssmtp

Gehen Sie dann in / etc / ssmtp und bearbeiten Sie die Datei ssmtp.conf so, dass sie folgendermaßen aussieht:

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

Senden Sie einen Einzeiler wie folgt:

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

Sie können auch eine ganze Datei katzen und als Nachricht einfügen.


Wenn Sie Bilddateien als Anhänge senden möchten, möchten Sie Folgendes:

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

Es ist im Grunde das gleiche, fügt aber hinzu:

Installieren Sie mpack:

apt-get update
sudo apt-get install mpack

Dann senden Sie ein Bild als Anhang wie folgt:

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

Befindet sich die Datei im aktuellen Verzeichnis, muss kein vollständig qualifizierter Pfad zum Anhang verwendet werden.

Wenn Sie in cron verwendet werden, denken Sie daran, dass die Jobs immer im Home-Verzeichnis des Benutzers ausgeführt werden. Es wird daher empfohlen, einen vollständigen Verzeichnispfad zur Anhangsdatei zu verwenden.

Voila. Das ist es. Einfacher geht es nicht.

Es funktioniert sowohl auf Raspbian als auch auf allen späteren Versionen von Ubuntu.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.