Fehler bei Mailversand Mail: syntax error at (eval 238) line 1, at EOF

Begonnen von FHEM-User22, 01 August 2015, 10:30:56

Vorheriges Thema - Nächstes Thema

FHEM-User22

Hallo,
ich versuche Mails mit FHEM zu versenden.
Kann jemand mit der Fehlermeldung:

Mail: syntax error at (eval 238) line 1, at EOF

etwas anfangen?

Dankeschön
FHEM auf Raspberry Pi und Proxmox und... und.... und....

Puschel74

Klar.
In Zeile 1 hat es einen Syntax error - steht doch da  ???
EOF heisst End Of File wenn mich nicht alles täuscht.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

FHEM-User22

Hallo Puschel,
ok, ob da die 99_myUtils gemeint ist? Irgenwie komme ich nicht weiter. Kann ich noch was posten?

Dankeschön
FHEM auf Raspberry Pi und Proxmox und... und.... und....

Puschel74

Zitatob da die 99_myUtils gemeint ist?
Keine Ahnung. Wo du den Code hinterlegt hast solltest du schon selbst wissen.

ZitatKann ich noch was posten?
Wie wäre es mit dem Code den du versuchst zu verwenden?
Den der Code wirft dir ja den Fehler aus.
siehe hier:http://forum.fhem.de/index.php/topic,16311.0.html

Nein, nicht auf Wiki oder Blog oder sonst wohin verweisen sondern den Code so wie DU ihn bei dir jetzt verwenden willst.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

FHEM-User22

Also ich bin nach Wiki vorgegangen,
eine 99_myUtils so wie http://www.fhemwiki.de/wiki/99_myUtils_anlegen

danach nach: http://www.fhemwiki.de/wiki/E-Mail_senden#Raspberry_Pi

die 99_myUtils sieht dann so aus:


##############################################
# $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $
#
# Save this file as 99_myUtils.pm, and create your own functions in the new
# file. They are then available in every Perl expression.

package main;

use strict;
use warnings;
use POSIX;

sub
myUtils_Initialize($$)
{
  my ($hash) = @_;
}

# Enter you functions below _this_ line.
######## DebianMail  Mail auf dem RPi versenden ############
sub
DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $attach = shift;
my $ret = "";

# hier natürlich meine Daten drin, ist das "\" nach name richtig?
my $sender = "name\@domain.de";
my $konto = "name\@domain.de";
my $passwrd = "mein Passwort";
my $provider = "smtp.mein Provider.de:25";


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=auto -o message-charset=utf-8);
$ret =~ s,[\r\n]*,,g;    # remove CR from return-string
Log 1, "sendEmail returned: $ret";
}
########################################################

1;


und meine Probiermail:


define Mail at *10:18:00 {\  DebianMail('meineMailAdresse@domain.de','FHEM gruest','passt doch','Anhang');\ }


Dankeschön
FHEM auf Raspberry Pi und Proxmox und... und.... und....

Puschel74

meineMailAdresse@domain.de
Versuch mal
meineMailAdresse@@domain.de
im at

Ein reload deiner 99_myUtils hast du gemacht nachdem du den Code eingetragen hast?
Das \ in der 99_myUtils nach dem Namen sollte passen - das hab ich auch drinnen.

Edith: Das @@ steht auch so im verlinkten Wiki-Beitrag  ;)
Edith2: Ok, beim at-Beispiel steht nur ein @  ???
Edith3: Aber im Wiki hat es am Schluss des at-Beispieles 2 ;; - die solltest du auch versuchen wenn du deine Konfig direkt bearbeitest (und danach sieht der Code auch aus).
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

FHEM-User22

Hallo,

ein reload 99_myUtils.pm habe ich gemacht und auch im at meineMailAdresse@@domain.de geändert,
leider immer noch der gleiche Fehler.

Mail: syntax error at (eval 273) line 1, at EOF
FHEM auf Raspberry Pi und Proxmox und... und.... und....

Puschel74

Beispiel aus dem Wiki:
DebianMail('email@email.domain','Subject','Text','Anhang');;\
Man beachte die 2 ;; am Schluss - siehe obige Ediths.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

FHEM-User22

Zitat von: Puschel74 am 01 August 2015, 11:28:24
Beispiel aus dem Wiki:
DebianMail('email@email.domain','Subject','Text','Anhang');;\
Man beachte die 2 ;; am Schluss - siehe obige Ediths.

Auch dies habe ich jetzt drinnen (keine Ahnung, warum nur 1 ; drin war.)

Aber leider keine Änderung.

2015.08.01 11:40:00 3: Mail: syntax error at (eval 358) line 1, at EOF
FHEM auf Raspberry Pi und Proxmox und... und.... und....

Brice

Ich würde in der Kommandozeile von FHEM zum Test zunächst folgendes eingeben:

{DebianMail('email@domain.de','Subject','Text')}

Achtung: bei Eingabe in der Kommandozeile nur ein "@" verwenden. Wenn das klappt, bist du einen Schritt weiter.
FHEM auf RPi 4 4GB (Buster) | produktiv) CUL 868 für FS20 | S300TH | KS300 | Max!Cube als CUN 868 für TechemWZ | HM-MOD-RPI-PCB für HM | Z-Wave ZME_UZB1 | FRITZ!DECT 200 | HUE | Lightify | Echo Dot | WS3080

FHEM-User22

#10
Zitat von: Brice am 01 August 2015, 11:46:09
Ich würde in der Kommandozeile von FHEM zum Test zunächst folgendes eingeben:

{DebianMail('email@domain.de','Subject','Text')}

Achtung: bei Eingabe in der Kommandozeile nur ein "@" verwenden. Wenn das klappt, bist du einen Schritt weiter.

also: {DebianMail('xxxxxx@xxxxxxxxx.de','FHEM gruest','passt doch')}

Resultat ist hier:

2015.08.01 12:06:05 1: sendEmail RCP: xxxxx@xxxxxxx.de
2015.08.01 12:06:05 1: sendEmail Subject: FHEM gruest
2015.08.01 12:06:05 1: sendEmail Text: passt doch
2015.08.01 12:06:05 1: PERL WARNING: Use of uninitialized value $attach in concatenation (.) or string at ./FHEM/99_myUtils.pm line 43.
2015.08.01 12:06:05 3: stacktrace:
2015.08.01 12:06:05 3:     main::__ANON__                      called by ./FHEM/99_myUtils.pm (43)
2015.08.01 12:06:05 3:     main::DebianMail                    called by (eval 360) (1)
2015.08.01 12:06:05 3:     (eval)                              called by fhem.pl (960)
2015.08.01 12:06:05 3:     main::AnalyzePerlCommand            called by fhem.pl (980)
2015.08.01 12:06:05 3:     main::AnalyzeCommand                called by fhem.pl (910)
2015.08.01 12:06:05 3:     main::AnalyzeCommandChain           called by ./FHEM/01_FHEMWEB.pm (2051)
2015.08.01 12:06:05 3:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (672)
2015.08.01 12:06:05 3:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (435)
2015.08.01 12:06:05 3:     main::FW_Read                       called by fhem.pl (3044)
2015.08.01 12:06:05 3:     main::CallFn                        called by fhem.pl (648)
2015.08.01 12:06:05 1: sendEmail Anhang:
2015.08.01 12:06:05 1: PERL WARNING: Use of uninitialized value $attach in concatenation (.) or string at ./FHEM/99_myUtils.pm line 45.
2015.08.01 12:06:05 3: stacktrace:
2015.08.01 12:06:05 3:     main::__ANON__                      called by ./FHEM/99_myUtils.pm (45)
2015.08.01 12:06:05 3:     main::DebianMail                    called by (eval 360) (1)
2015.08.01 12:06:05 3:     (eval)                              called by fhem.pl (960)
2015.08.01 12:06:05 3:     main::AnalyzePerlCommand            called by fhem.pl (980)
2015.08.01 12:06:05 3:     main::AnalyzeCommand                called by fhem.pl (910)
2015.08.01 12:06:05 3:     main::AnalyzeCommandChain           called by ./FHEM/01_FHEMWEB.pm (2051)
2015.08.01 12:06:05 3:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (672)
2015.08.01 12:06:05 3:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (435)
2015.08.01 12:06:05 3:     main::FW_Read                       called by fhem.pl (3044)
2015.08.01 12:06:05 3:     main::CallFn                        called by fhem.pl (648)
2015.08.01 12:06:06 1: sendEmail returned: Aug 01 12:06:06 fhem01 sendEmail[2628]: Email was sent successfully!


also das passt, sind aber noch paar Fehlermeldungen drin?
Zumindest die Mail ist erstmal angekommen.
Und wie weiter?

FHEM auf Raspberry Pi und Proxmox und... und.... und....

Brice

Zitat von: FMEM-User22 am 01 August 2015, 12:08:26
Und wie weiter?

Ich weiß ja nicht, was du vor hast ;-)

Aber zumindenst sollte der Code

define Mail at *10:18:00 {DebianMail('meineMailAdresse@domain.de','FHEM gruest','passt doch')}

jetzt auch funktionieren.

Ich arbeite beim Mailversand nicht mit Anhängen, sondern lasse mir Temeraturwerte von Kühl- und Gefrierschrank mitteilen. Von daher kann zum Versenden von Anhängen nichts beitragen.
FHEM auf RPi 4 4GB (Buster) | produktiv) CUL 868 für FS20 | S300TH | KS300 | Max!Cube als CUN 868 für TechemWZ | HM-MOD-RPI-PCB für HM | Z-Wave ZME_UZB1 | FRITZ!DECT 200 | HUE | Lightify | Echo Dot | WS3080

FHEM-User22

Zitat von: Brice am 01 August 2015, 12:29:11
Ich weiß ja nicht, was du vor hast ;-)

Aber zumindenst sollte der Code

define Mail at *10:18:00 {DebianMail('meineMailAdresse@domain.de','FHEM gruest','passt doch')}

jetzt auch funktionieren.

Ich arbeite beim Mailversand nicht mit Anhängen, sondern lasse mir Temeraturwerte von Kühl- und Gefrierschrank mitteilen. Von daher kann zum Versenden von Anhängen nichts beitragen.

sowas ähnliches möchte ich auch. Anhänge brauch ich (zumindest jetzt nicht).

*12:35:00 {\  DebianMail('xxx@xxxxx.de','FHEM gruest','passt doch');;\ }

bringt den Fehler:

2015.08.01 12:35:00 3: Mail: syntax error at (eval 398) line 1, at EOF

und solange dies nicht klappt, kann man sich auch keine Werte zuschicken lassen, oder?

FHEM auf Raspberry Pi und Proxmox und... und.... und....

Brice

Wenn du den von dir als funktionierend getesteten Code nehmen würdest (also die Zeichen "\ " bzw. ";;\" entfernst) wirst du feststellen, dass es klappt....
FHEM auf RPi 4 4GB (Buster) | produktiv) CUL 868 für FS20 | S300TH | KS300 | Max!Cube als CUN 868 für TechemWZ | HM-MOD-RPI-PCB für HM | Z-Wave ZME_UZB1 | FRITZ!DECT 200 | HUE | Lightify | Echo Dot | WS3080

krikan

Es hat doch bei Dir schon funktioniert, wie Brice es Dir gezeigt hat: Über die Eingabe in der Kommmandozeile von Fhem bzw. Bearbeitung im DEF.

Das ist nicht mehr funktionsfähiger Code:
*12:35:00 {\  DebianMail('xxx@xxxxx.de','FHEM gruest','passt doch');;\ }
Ursprung ist der fhem.cfg-Code aus dem Wiki, den Du bei der Bearbeitung direkt in der fhem.cfg genauso wie Wiki gezeigt eintragen solltest. Und nicht irgendwie umformatiert. "\" und ",," sind Spezialitäten, die (im Wesentlichen) Direkt-editierter betreffen und in Kommandozeile/DEF nichts zu suchen haben und automatisch erledigt werden.

Im Übrigen @@ ist grds. nichts für at, sondern notify.

Und wenn Du bei Aufruf des sub einfach etwas nicht übergibst, führt das eben zu Perl-Warnungen / Fehlern.