Email versenden mit t-online scheitert

Begonnen von Himi, 23 Februar 2017, 17:48:11

Vorheriges Thema - Nächstes Thema

Himi

Hallo zusammen,

ich weis, dass das Thema schon oft hier behandelt worden ist.
Habe schon Stunden in div. Foren verbracht, alle Versuche scheitern aber... (keine Email kommt an)

Woran liegt es? Danke für Eure Hilfe

Ich erhalte den Fehler in der LOG

2017.02.23 17:28:00 1: sendEmail RCP: xxxxxx.xxxxxx@t-online.de
2017.02.23 17:28:00 1: sendEmail Subject: Subject
2017.02.23 17:28:00 1: sendEmail Text: Text
2017.02.23 17:28:00 1: sendEmail Anhang:
sh: 1: sendEmail: Text file busy
2017.02.23 17:28:00 1: sendEmail returned:


Nachfolgen der Code in der 99_myUtils.pm
DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $attach = shift;
my $ret = "";
my $sender = "xxxxxx.xxxxxx\@t-online.de";
my $konto = "xxxxxx.xxxxxx\@t-online.de";
my $passwrd = "xxxxxxxxx";
my $provider = "smtp.securesmtp.t-online.de: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";
}


Zum testen habe ich der fhem.cfg nachfolgenden Code (Ausnahmsweise aus der fhem.cfg kopiert)

define Sonstiges at *17:28:00 {\
DebianMail('xxxxxx.xxxxxx@t-online.de','Subject','Text');;\
}



KernSani

funktioniert denn dein sendEmail auf der Kommandozeile?

Ich denke, das ist weniger ein FHEM Problem, sondern ein generelles Linux Problem. Google sagt mir auf die Schnelle, dass hier wohl mehrere Prozesse versuchen auf das selbe File zugreifen wollen...

Grüße,

Oli
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Himi

Hallo,

das sendEmail auf der Kommandozeile funktioniert..

Was kann ich evt. noch tun?

Gruß Himi

KernSani

Berechtigungen des FHEM users geprüft?
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

hckoe

Du übergibst nur 3 Parameter an DebianMail, es erwartet aber als 4. Parameter ein Attachment. Vielleicht liegt es daran.
Übergib einfach einmal irgendeine Datei wie z.B. "/etc/hosts".

Gruß
Helmut
# CT mit Debian Buster / FHEM aktuell / EnOcean TCM310 / Eltako FSA12, FUD12NPN, FSB12, FRW, FSRP-230V
# Permundo PCS234, Nodon NO-SIN-2-2-00, GTAGS

Himi

habe eine Datei angehängt.

hat aber den gewünschten Erfolg nicht gebracht.

in der LOG steht jetzt...

2017.02.23 18:35:00 1: sendEmail RCP: xxxxxx.xxxxxx@t-online.de
2017.02.23 18:35:00 1: sendEmail Subject: Subject
2017.02.23 18:35:00 1: sendEmail Text: Text
2017.02.23 18:35:00 1: sendEmail Anhang: /etc/hosts
sh: 1: sendEmail: Text file busy
2017.02.23 18:35:00 1: sendEmail returned:


KernSani

Was ist mit den Berechtigungen? Hilft ein sudo sendEmail?

Edit: vorausgestzt, der fhem user ist ein sudoer
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Himi

habe nach einem Tipp im Forum nachfolgende Berechtigung vergeben

sudo usermod -A -G tty pi

sowie

sudo usermod -A -G tty fhem

und dann

cd /opt
sudo chmod -R a+w fhem

damit sollte fhem alle benötigten Rechte haben.

Und mach  noch ein:

sudo addgroup fhem dialout
und vielleicht
sudo addgroup fhem audio

somit hat fhem auch Zugriff um Mails zu verschicken und evtl. Sound auszugeben.

Jetzt steht im LOG

2017.02.23 18:52:00 1: sendEmail RCP: xxxxxx.xxxxxx@t-online.de
2017.02.23 18:52:00 1: sendEmail Subject: Subject
2017.02.23 18:52:00 1: sendEmail Text: Text
2017.02.23 18:52:00 1: sendEmail Anhang: /etc/hosts
/usr/bin/sendEmail: 1: /usr/bin/sendEmail: #!/usr/bin/perl: not found
/usr/bin/sendEmail: 38: /usr/bin/sendEmail: use: not found
/usr/bin/sendEmail: 39: /usr/bin/sendEmail: use: not found
/usr/bin/sendEmail: 40: /usr/bin/sendEmail: use: not found
/usr/bin/sendEmail: 47: /usr/bin/sendEmail: Syntax error: "(" unexpected
2017.02.23 18:52:00 1: sendEmail returned:


habe ich mich jetzt verrannt?

Otto123

Zitat von: KernSani am 23 Februar 2017, 18:46:30
Was ist mit den Berechtigungen? Hilft ein sudo sendEmail?

Edit: vorausgestzt, der fhem user ist ein sudoer
Hi,

So ein Quatsch: sendEmail braucht kein sudo!

Auf den ersten Blick stehen da zu viele  ;;;;;;;  :o
Log 1, "sendEmail Anhang: $attach";;
Den Aufruf würde ich so machen:
define Sonstiges at *17:28:00 { DebianMail('xxxxxx.xxxxxx@t-online.de','Subject','Text','');;}

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

KernSani

Zitat von: Otto123 am 23 Februar 2017, 19:09:05
Hi,

So ein Quatsch: sendEmail braucht kein sudo
Das ist mir klar, es könnte aber helfen, das Problem einzugrenzen, wenn's mit sudo funktioniert. Eine komplettes Umschiessen der Berechtigungen habe ich nicht erwartet

RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

Otto123

Zitat von: KernSani am 23 Februar 2017, 19:23:38
Das ist mir klar, es könnte aber helfen, das Problem einzugrenzen, wenn's mit sudo funktioniert. Eine komplettes Umschiessen der Berechtigungen habe ich nicht erwartet
Ja,  aber jetzt ist der Arme völlig falsch abgebogen  ;D

Die Sub ist einfach nicht tolerant gegen Fehler jeder Art. Übergabe Parameter einfach weglassen ist nicht. Das war der erste Fehler, der Eigentliche wird die zwei ;; hinter dem Log Eintrag sein - denke ich.

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

klaso

hab es mal bei mir eingerichtet, wie oben schon erwähnt ist hier ein ; zuviel
Log 1, "sendEmail Anhang: $attach";;
der Rest ist in Ordnung, bei mir funktioniert es auch ohne Attachment

wenn du in der fhem-eingabezeile folgendes eingibst, ändert sich dann etwas am Fehlerbild?
{ DebianMail('xxxxxx.xxxxxx@t-online.de','Test','Test-Text');; }

Hattest du im Vorfeld noch andere Fehler? z. B. invalid SSL_version  oder sowas in der Art? musstest du im Vorfeld andere configs/files ändern/korrigieren?
VG
klaso
Raspberry Pi 2 B+; Software: Raspbian Jessie, Fhem 5.8
ZWave, Enocean, FBAHAHTTP, ENIGMA2
Barebone mit openmedivault und Fhem5.8, MySQL, MyObis, VBUS LAN-Adapter in Fhem, Homematic CCU2; Jeelink mit TX29IT, HMCCU: Schnittstelle CCU2 - FHEM

KernSani

Zitat von: Otto123 am 23 Februar 2017, 21:12:22
Ja,  aber jetzt ist der Arme völlig falsch abgebogen  ;D
Ich bin mir gerade etwas unsicher, ob sudo usermod -A -G tty pi und sudo usermod -aG tty pi das Selbe sind... Ansonsten hat der TE gerade ein Problem mit dem pi user... (und ich ein schlechtes Gewissen)
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

hckoe

Habe die Funktion Cut+Paste in die Utils genommen und auch das at-Kommando getestet. Funktioniert bei mir problemlos.

Gruß
Helmut
# CT mit Debian Buster / FHEM aktuell / EnOcean TCM310 / Eltako FSA12, FUD12NPN, FSB12, FRW, FSRP-230V
# Permundo PCS234, Nodon NO-SIN-2-2-00, GTAGS

Himi

Danke für Eure Mithilfe :)

habe nochmals alles auf Anfang gesetzt und bin dann exakt wie im Wiki https://wiki.fhem.de/wiki/E-Mail_senden
beschrieben vorgegangen.

Die Eingabe in der Kommandozeile
{ DebianMail('xxxxxx.xxxxxx@t-online.de','Test','Test-Text');; }
hat auch keine Veränderung gebracht.

Habe immer noch den Fehler im LOG
2017.02.24 17:14:15 3: MaxCube device opened
2017.02.24 17:14:26 1: sendEmail RCP: xxxxxx.xxxxxx@t-online.de
2017.02.24 17:14:26 1: sendEmail Subject: Test-Betreff


2017.02.24 17:14:26 1: sendEmail Text: Test-Text
2017.02.24 17:14:26 1: sendEmail Anhang:
sh: 1: sendEmail: Text file busy
2017.02.24 17:14:26 1: sendEmail returned:


An der 99_myUtils.pm habe ich nichts mehr verändert.