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?
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
Hallo Otto,
danke für deinen Tipp, nun läuft es super.
Danke. :)