SendEmail aus FHEM funktioniert nicht

Begonnen von Herry-77, 06 Januar 2020, 10:39:33

Vorheriges Thema - Nächstes Thema

Herry-77

Hallo allerseits,

ich hab auf meinem Raspberry SendEmail installiert um mir aus Fhem Emails über ein GMX Konto zu schicken.
In der Linux Shell funktioniert das wie folgt
sendEmail -f 'sender@gmx.de' -t 'receiver@gmx.de' -u 'Betreff' -m 'Message Text' -s 'mail.gmx.net:587' -xu 'sender@gmx.de' -xp 'passwort' -o tls=yes
und die Test-Email wird brav versendet.


In der 99_Utils.PM hab ich gemäß diverser Beispiel aus dem Internet. den folgenden Code ergänzt.

######## DebianMail  Mail auf dem RPi versenden ############
# $provider für SMTP Server anpassen.
# Einmal in der FHEM Kommandozeile, user und password anpassen:
# {setKeyValue("myEmailKonto",'user@domain');;setKeyValue("myEmailPasswrd",'password')}
sub DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $attach = shift;
my $ret = "";
my $error;
my $konto = getKeyValue("sender\@gmx.de");
my $passwrd = getKeyValue("passwort");
my $from = $konto; # or use different KeyValue if konto is not the from email address
my $provider = 'mail.gmx.net:587'; # smtp.domain.tld:port see provider documentation
#Log 1, "sendEmail RCP: $rcpt";
#Log 1, "sendEmail Subject: $subject";
#Log 1, "sendEmail Text: $text";
#Log 1, "sendEmail Anhang: $attach";
if (not defined($attach)){$attach=''}
$ret .= qx(sendemail -f '$from' -t '$rcpt' -u '$subject' -m '$text' -a '$attach' -s '$provider' -xu '$konto' -xp '$passwrd' -o tls=auto -o message-charset=utf-8);
$ret =~ s,[\r\n]*,,g;    # remove CR from return-string
Log 1, "sendemail returned: $ret";
}
###############################################################################


Wenn ich nun eine Test Email aus FHEM versende, passiert nix.

{DebianMail("Receiver\@gmx.de","AusFHEM","Text")}

Im FHEM Log File bekomme ich die folgenden Fehler-Einträge

2019.12.31 01:26:57 1:
sendemail returned: Dec 31 01:26:57 raspberrypi sendemail[30457]: WARNING => The argument after -f was not an email address!
Dec 31 01:26:57
raspberrypi sendemail[30457]: WARNING => The argument after -xu was not valid username!
Dec 31 01:26:57
raspberrypi sendemail[30457]: WARNING => The argument after -xp was not valid password!
Dec 31 01:26:57 raspberrypi sendemail[30457]: ERROR => You must specify a 'from' field!  Try --help.



Was mache ich hier falsch?



Otto123

#1
Hi,

ich denke hiermit stimmt was nicht:
my $konto = getKeyValue("sender\@gmx.de");
my $passwrd = getKeyValue("passwort");

Wenn Du exakt dies hier einmalig ausgeführt hast
{setKeyValue("myEmailKonto",'user@domain');;setKeyValue("myEmailPasswrd",'password')}
mit user@domain durch Dein Konto ersetzt
und password durch Dein passwort ersetzt.

Dann muss im Code stehen - ohne irgendwas ersetzt!:
my $konto = getKeyValue("myEmailKonto");
my $passwrd = getKeyValue("myEmailPasswrd");


Und ich hoffe diese hier stimmt nicht
ZitatIn der 99_Utils.PM hab ich gemäß diverser Beispiel aus dem Internet. den folgenden Code ergänzt.
Der Code muss in die 99_myUtils.pm !!!

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Herry-77

Hallo Otto,

danke für deinen Tipp, nun läuft es super.

Danke.  :)