FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: AyshaHM am 22 Mai 2016, 11:54:32

Titel: [gelöst] send Mails
Beitrag von: AyshaHM am 22 Mai 2016, 11:54:32
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

Titel: Antw:send Mails
Beitrag von: KölnSolar am 22 Mai 2016, 14:14:07
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
Titel: Antw:send Mails
Beitrag von: AyshaHM am 22 Mai 2016, 15:25:17
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
Titel: Antw:send Mails
Beitrag von: KölnSolar am 22 Mai 2016, 15:37:38
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 ?
Titel: Antw:send Mails
Beitrag von: AyshaHM am 22 Mai 2016, 15:48:25
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

Titel: Antw:send Mails
Beitrag von: KölnSolar am 22 Mai 2016, 15:59:35
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.
Titel: Antw:send Mails
Beitrag von: AyshaHM am 22 Mai 2016, 16:34:20
 :) :) :) :) :) :) :) :) :) :) :) :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
Titel: Antw:[gelöst] send Mails
Beitrag von: Familienpapi am 24 Mai 2016, 15:22:30
Danke für den Tipp.
Nun funktioniert es bei mir auch.  :) :)