Hallo zusammen,
ich habe mir das debian perl send mail installiert.
Mali senden mit putty funktioniert.
Nur leider nicht mit Fehm!!
Habe mir folgende 99_myUtils.pm angelegt:
________________________________________________________________________________________________________
package main;
use strict;
use warnings;
use POSIX;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}
## DebianMail Mail auf dem RPi versenden ############
sub
DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $attach = shift;
my $ret = "";
my $sender = "jXXXXXXX\@gmx.de";
my $konto = "jXXXXXXXX\@gmx.de";
my $passwrd = "Mein&Passwort";
my $provider = "smtp.gmx.net:587";
Log 1, "sendEmail RCP: $rcpt";
Log 1, "sendEmail Subject: $subject";
Log 1, "sendEmail Text: $text";
Log 1, "sendEmail Anhang: $attach";;
$ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -a '$attach' -s '$provider' -xu '$konto' -xp '$passwrd' -o tls=yes -o message-charset=utf-8);
$ret =~ s,[\r\n]*,,g; # remove CR from return-string
Log 1, "sendEmail returned: $ret";
}
1;
_______________________________________________________________________________________________________
Beim speichern bekomme ich schon die folgende Fehlermeldung
"Can't find string terminator '"' anywhere before EOF at ./FHEM/99_myUtils.pm line 29. "
Wenn ich dann diesen Befehl ({DebianMail('hxxxxxxx@gmx.de','Test','Test-Text');; }) bei Fhem eingebe bekomme ich folgende
Meldung
"Undefined subroutine &main::DebianMail called at (eval 542) line 1. "
Kann mir da jemand weiter helfen?
Vielen Dank im Voraus
PS Im Anhang noch die Fhem.cfg
ich könnt wetten, dass Du nicht den Inhalt DEINER 99_myUtils.pm gepostet hast !!
gemeckert wird über ein fehlendes ". Im Posting ist aber alles OK(bin aber eher Perl-Laie).
Der 2. Fehler ist ja nur logisch: Fehler in der Sub = Sub nicht bekannt.
Grüße, Markus
Hallo KölnSolar,
vielen dank für deine Antwort!
Leider werde ich dadurch nicht schlauer.
Wenn ich über Edit files gehe und dort die 99_myUtils.pm öffne dann steht da genau das was ich oben gepostet habe.
Die Benutzer und Passwort ist natürlich im original anders!
Wie mache ich das Sub denn bekannt ?
Danke im Voraus
AyshaHM
Zitat"Can't find string terminator '"' anywhere before EOF at ./FHEM/99_myUtils.pm line 29.
= es fehlt ein "
Zitat"Undefined subroutine &main::DebianMail called at (eval 542) line 1. "
= nicht definiert(=unbekannt), weil die 99_myUtils.pm ja fehlerhaft ist, ist das ein logischer Folgefehler
Du musst also ein fehlendes " in Deinem Code suchen. In Deinem Post konnte ich es nicht finden ;-(
Vielleicht beim Editieren von Benutzer und Passwort ein " gelöscht ?
Ja ich weiß das da " in line 29 fehlt. Aber das einzige was mit auffällt ist das doppelte semikolon.
Bei der Eingabe Sender, Konto und Passwort habe ich keines gelöscht!
Das ding ist so blöde das ich dazu auch nichts im Forum gefunden habe!
>:( >:( >:( >:( >:( >:( >:( :D ;D
kannst Du auch nix zu finden. Ist DEIN individueller Perl-Fehler.
Nimm einfach den Code aus dem Post. Sollte keinen Fehler bringen. Dann schrittchenweise anpassen, bis Du wieder auf den Fehler stößt. Vermutlich irgendein Sonderzeichen, wenn es denn kein fehlendes " ist.
:) :) :) :) :) :) :) :) :) :) :) :P
Hallo KölnSolar der Tip Zeile für Zeile zu ändern war super !!
Danke Danke
Hier der Fehler: Mein Passwort war incl. Sonderzeichen.
Das war zu viel für die 99-myUtils.pm
Passwort geändert alles gut
Danke für den Tipp.
Nun funktioniert es bei mir auch. :) :)