Hallo zusammen,
ich hatte fhem bisher auf einem raspberry laufen, zwecks besserer Performance hab ich es jetzt jedoch auf meinen Mac Mini Server umgezogen.
Um weiterhin Mails versenden zu können, habe ich mir auch sendEmail heruntergeladen und auf dem Mini platziert, die Routine in meiner 99_myUtils.pm ist weiterhin dieselbe und über die Beriebssystemkonsole kann ich auch erfolgreich Mails an meinen Mailserver senden, welche im Anschluss in meinem Postfach eingehen.
Die Versuche fhem dazu zu bewegen, über die alten notifys wieder Mails zu versenden will mir jedoch nicht gelingen.
Output beim Mailversand im fhemlog:
2014.02.27 23:18:16.753 1: sendEmail RCP: eldrik@mail.de
2014.02.27 23:18:16.753 1: sendEmail Subject: Test
2014.02.27 23:18:16.753 1: sendEmail Text: Test-Text
2014.02.27 23:18:16.759 1: sendEmail returned:
Output beim Mailversand über die Betriebssystemkonsole:
Feb 27 23:27:41 macmini sendemail[87832]: Email was sent successfully!
Woran kann es noch liegen? :-\
Greetz
Eldrik
neuer Tag, neues Glück...
nachdem ich gestern einiges an Zeit verbraten habe, habe ich heute früh testweise sendEmail von /usr/local/bin nach /usr/bin kopiert und alles ist gut ::)
Greetz
Eldrik
Ich habe das selbe Problem. Allerdings liegt sendemail bei mir schon unter /usr/bin
fhem versendet nicht.
in der console geht es ohne probleme
FHEM Teststriing: { DebianMail('xxx@xxx.de','Test','Test-Text');; }
Log:
sendemail RCP: xxx@xxx.de
sendemail Subject: Test
sendemail Text: Test-Text
sendemail returned:
Console: sendemail -f 'xxx1@xxx.de' -t 'xxx@xxx.de' -u 'test' -m 'test' -s 'smtp.xxx.de:587' -xu 'xxx' -xp '######' -o tls=auto -o message-charset=utf-8
raspberrypi sendemail[27454]: Email was sent successfully!
Ist zum verzweifeln. Wo soll man da suchen?! -.-
sendEmail ist nicht gleich senmail. Wie sieht Deine 99_myUtils aus?
Das habe ich schon bemerkt und entsprechend angepasst.
Ich habe auch für den Test den Aufruf aus der DebianMail Methode genommen.
Wenn es in der Console funktioniert, sollte es auch in FHEM gehen. Tut es aber nicht.
######## DebianMail Mail auf dem RPi versenden ############
sub
DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $ret = "";
my $sender = "xxx\@xxx.de";
my $konto = "xxx";
my $passwrd = "#######";
my $provider = "smtp.web.de:587";
Log 1, "sendemail RCP: $rcpt";
Log 1, "sendemail Subject: $subject";
Log 1, "sendemail Text: $text";
$ret .= qx(sendemail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -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;
Hi,
ZitatIch habe das selbe Problem
Echt? -> "sendEmail unter OS X" -> "raspberrypi sendemail" ??? :o ::)
Ist es so schwierig sein Problem in einem neuen Thread zu schildern? Einfach einen alten Thread von 2014 zu nehmen und sagen ich habe dasselbe Problem :( da bin ich jetzt mal pingelig: Es kann maximal das Gleiche sein. ;D
Gruß Otto
Kommentier das mal zu testzwecken aus
$ret =~ s,[\r\n]*,,g; # remove CR from return-string
Also
## $ret =~ s,[\r\n]*,,g; # remove CR from return-string
Zitat von: CoolTux am 16 Mai 2018, 10:45:17
Kommentier das mal zu testzwecken aus
$ret =~ s,[\r\n]*,,g; # remove CR from return-string
Also
## $ret =~ s,[\r\n]*,,g; # remove CR from return-string
Hab ich schon gemacht. Ändert sich nichts.
Zitat von: Otto123 am 16 Mai 2018, 10:44:54
Hi,
Echt? -> "sendEmail unter OS X" -> "raspberrypi sendemail" ??? :o ::)
Ist es so schwierig sein Problem in einem neuen Thread zu schildern? Einfach einen alten Thread von 2014 zu nehmen und sagen ich habe dasselbe Problem :( da bin ich jetzt mal pingelig: Es kann maximal das Gleiche sein. ;D
Gruß Otto
Ist zwar nicht OS X aber der selbe Fehler. Was wiegt nun schwerer?!
Wie gesagt der gleiche Fehler könnte sein .... ;D
Hast Du bei my $konto = "xxx"; das @ zeichen auch maskiert -> \@
Eventuell gibt es Probleme mit dem User welcher FHEM läuft. Unter Linux wäre das im normal Fall fhem. Führe doch mal Dein sendmail Befehl als FHEM User aus.
Zitat von: Otto123 am 16 Mai 2018, 10:50:33
Wie gesagt der gleiche Fehler könnte sein .... ;D
Hast Du bei my $konto = "xxx"; das @ zeichen auch maskiert -> \@
Guter Hinweis
Zitat von: Otto123 am 16 Mai 2018, 10:50:33
Wie gesagt der gleiche Fehler könnte sein .... ;D
Hast Du bei my $konto = "xxx"; das @ zeichen auch maskiert -> \@
Ist ein Web.de Konto, benötigt daher nur den Benutzer nicht die ganze E-Mail, daher keine Maskierung von @ nötig. Funzt so in der Console.
Zitat von: CoolTux am 16 Mai 2018, 10:51:23
Eventuell gibt es Probleme mit dem User welcher FHEM läuft. Unter Linux wäre das im normal Fall fhem. Führe doch mal Dein sendmail Befehl als FHEM User aus.
#> su - fhem
Passwort:
fhem@raspberrypi:~$ sendemail -f 'xxx@web.de' -t 'xxx@xxx.de' -u 'test' -m 'test' -s 'smtp.web.de:587' -xu 'xxx' -xp '######' -o tls=auto -o message-charset=utf-8
May 16 10:56:37 raspberrypi sendemail[28294]: Email was sent successfully!
Dein Code aus der 99_myUtils 1:1 bei mir reinkopiert und um die richtigen Kontodaten ergänzt (web.de) funktioniert bei mir einwandfrei.
Keine weiter Idee :o
außer Deine 99_myUtils hat einen Knax (aber die Sub wird ja aufgerufen), ein Fehler in deinen Kontodaten (Sonderzeichen nicht maskiert -> Passwort!!!) ein Fehler in deinem Aufruf
Gruß Otto
Zitat von: Otto123 am 16 Mai 2018, 13:21:57
Dein Code aus der 99_myUtils 1:1 bei mir reinkopiert und um die richtigen Kontodaten ergänzt (web.de) funktioniert bei mir einwandfrei.
Keine weiter Idee :o
außer Deine 99_myUtils hat einen Knax (aber die Sub wird ja aufgerufen), ein Fehler in deinen Kontodaten (Sonderzeichen nicht maskiert -> Passwort!!!) ein Fehler in deinem Aufruf
Gruß Otto
in meiner 99_myUtils ist nur diese sub drin. Habe ich gerade erst erstellt.
Tolle Wurst. So gehts mir schon die ganze Zeit. FHEM ist nicht wirklich Nutzerfreundlich. :-\
Dann poste mal die komplette 99_myUtils damit man das ringsherum sieht.
Was ist mit Sonderzeichen im Passwort? Du kannst String auch in 'passwort' anstatt "passwort" setzen, da brauchst Du die Maske nicht.
Aber CoolTux und ich sind freundlich :D
Zitat von: Otto123 am 16 Mai 2018, 13:30:22
Dann poste mal die komplette 99_myUtils damit man das ringsherum sieht.
Was ist mit Sonderzeichen im Passwort? Du kannst String auch in 'passwort' anstatt "passwort" setzen, da brauchst Du die Maske nicht.
##############################################
# $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 $ret = "";
my $sender = "konto\@web.de";
my $konto = "kontoname";
my $passwrd = "passwortohnesonderzeichen";
my $provider = "smtp.web.de:587";
Log 1, "sendemail RCP: $rcpt";
Log 1, "sendemail Subject: $subject";
Log 1, "sendemail Text: $text";
$ret .= qx(sendemail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -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;
Das hast Du ganz ordentlich gemacht :D
Also an Deiner 99_myUtils liegt es offenbar nicht. :-[
Wie Wo genau machst Du den Testaufruf?
Zitat von: Otto123 am 16 Mai 2018, 13:41:04
Das hast Du ganz ordentlich gemacht :D
Also an Deiner 99_myUtils liegt es offenbar nicht. :-[
Wie Wo genau machst Du den Testaufruf?
in der Commandozeile oben in der FHEMWEB Oberfläche.
Okay, wir können die Suche dann beenden. Ein einfacher Reboot des Pi und Neustart von FHEM brachte auch die Funktion in Gang.
Anscheinend hat mein FHEM sich intern aufgehangen. Es bewahrheitet sich mal wieder: "Have you tried an unexpected reboot?!" ::)
Vielen Dank für die Geduld mit mir @Otto123
och nö :-[
Schön das es geht.
Ich hatte gerade noch den Test vorbereitet, ich schreib ihn einfach noch hin. Für die FHEM Kommandozeile. Man beachte die unterschiedlichen Anführungszeichen:
{qx(sendemail -f "xxx\@web.de" -t "xxx\@xxx.de" -u 'subject' -m 'text' -s 'smtp.web.de:587' -xu 'xxx' -xp 'PasswortOhneSonderzeichen' -o tls=auto -o message-charset=utf-8)}
Der Returncode kommt im Browserfenster
Gruß Otto