FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Himi am 23 Februar 2017, 17:48:11

Titel: Email versenden mit t-online scheitert
Beitrag von: Himi am 23 Februar 2017, 17:48:11
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');;\
}


Titel: Antw:Email versenden mit t-online scheitert
Beitrag von: KernSani am 23 Februar 2017, 18:04:20
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
Titel: Antw:Email versenden mit t-online scheitert
Beitrag von: Himi am 23 Februar 2017, 18:09:37
Hallo,

das sendEmail auf der Kommandozeile funktioniert..

Was kann ich evt. noch tun?

Gruß Himi
Titel: Antw:Email versenden mit t-online scheitert
Beitrag von: KernSani am 23 Februar 2017, 18:14:53
Berechtigungen des FHEM users geprüft?
Titel: Antw:Email versenden mit t-online scheitert
Beitrag von: hckoe am 23 Februar 2017, 18:17:55
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
Titel: Antw:Email versenden mit t-online scheitert
Beitrag von: Himi am 23 Februar 2017, 18:40:41
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:

Titel: Email versenden mit t-online scheitert
Beitrag 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
Titel: Antw:Email versenden mit t-online scheitert
Beitrag von: Himi am 23 Februar 2017, 19:05:11
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?
Titel: Antw:Email versenden mit t-online scheitert
Beitrag von: Otto123 am 23 Februar 2017, 19:09:05
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
Titel: Antw:Email versenden mit t-online scheitert
Beitrag von: KernSani am 23 Februar 2017, 19:23:38
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

Titel: Antw:Email versenden mit t-online scheitert
Beitrag von: Otto123 am 23 Februar 2017, 21:12:22
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
Titel: Antw:Email versenden mit t-online scheitert
Beitrag von: klaso am 23 Februar 2017, 22:57:41
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
Titel: Antw:Email versenden mit t-online scheitert
Beitrag von: KernSani am 24 Februar 2017, 00:08:52
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)
Titel: Antw:Email versenden mit t-online scheitert
Beitrag von: hckoe am 24 Februar 2017, 09:39:55
Habe die Funktion Cut+Paste in die Utils genommen und auch das at-Kommando getestet. Funktioniert bei mir problemlos.

Gruß
Helmut
Titel: Antw:Email versenden mit t-online scheitert
Beitrag von: Himi am 24 Februar 2017, 17:34:39
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 (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.
Titel: Antw:Email versenden mit t-online scheitert
Beitrag von: Otto123 am 24 Februar 2017, 18:37:05
Zitat von: Himi am 24 Februar 2017, 17:34:39
An der 99_myUtils.pm habe ich nichts mehr verändert.
Aber das hast Du in der 99_myUtils geändert ?
Log 1, "sendEmail Anhang: $attach";;

Gruß Otto