FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: eldrik am 27 Februar 2014, 23:28:51

Titel: Mailversand sendEmail unter OS X funktioniert über fhem nicht, über Konsole ja..
Beitrag von: eldrik am 27 Februar 2014, 23:28:51
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
Titel: Antw:Mailversand sendEmail unter OS X funktioniert über fhem nicht, über Konsole ja..
Beitrag von: eldrik am 28 Februar 2014, 08:28:37
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

Titel: Antw:Mailversand sendEmail unter OS X funktioniert über fhem nicht, über Konsole ja..
Beitrag von: dogas am 16 Mai 2018, 10:21:51
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?! -.-
Titel: Antw:Mailversand sendEmail unter OS X funktioniert über fhem nicht, über Konsole ja..
Beitrag von: CoolTux am 16 Mai 2018, 10:29:31
sendEmail ist nicht gleich senmail. Wie sieht Deine 99_myUtils aus?
Titel: Antw:Mailversand sendEmail unter OS X funktioniert über fhem nicht, über Konsole ja..
Beitrag von: dogas am 16 Mai 2018, 10:41:50
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;
Titel: Antw:Mailversand sendEmail unter OS X funktioniert über fhem nicht, über Konsole ja..
Beitrag von: Otto123 am 16 Mai 2018, 10:44:54
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
Titel: Antw:Mailversand sendEmail unter OS X funktioniert über fhem nicht, über Konsole ja..
Beitrag 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
Titel: Antw:Mailversand sendEmail unter OS X funktioniert über fhem nicht, über Konsole ja..
Beitrag von: dogas am 16 Mai 2018, 10:46:38
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.
Titel: Antw:Mailversand sendEmail unter OS X funktioniert über fhem nicht, über Konsole ja..
Beitrag von: dogas am 16 Mai 2018, 10:49:24
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?!
Titel: Antw:Mailversand sendEmail unter OS X funktioniert über fhem nicht, über Konsole ja..
Beitrag 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 -> \@
Titel: Antw:Mailversand sendEmail unter OS X funktioniert über fhem nicht, über Konsole ja..
Beitrag 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.
Titel: Antw:Mailversand sendEmail unter OS X funktioniert über fhem nicht, über Konsole ja..
Beitrag von: CoolTux am 16 Mai 2018, 10:51:47
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
Titel: Antw:Mailversand sendEmail unter OS X funktioniert über fhem nicht, über Konsole ja..
Beitrag von: dogas am 16 Mai 2018, 10:53:55
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.
Titel: Antw:Mailversand sendEmail unter OS X funktioniert über fhem nicht, über Konsole ja..
Beitrag von: dogas am 16 Mai 2018, 10:57:45
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!
Titel: Antw:Mailversand sendEmail unter OS X funktioniert über fhem nicht, über Konsole ja..
Beitrag 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
Titel: Antw:Mailversand sendEmail unter OS X funktioniert über fhem nicht, über Konsole ja..
Beitrag von: dogas am 16 Mai 2018, 13:25:47
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.  :-\
Titel: Antw:Mailversand sendEmail unter OS X funktioniert über fhem nicht, über Konsole ja..
Beitrag 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.

Aber CoolTux und ich sind freundlich  :D
Titel: Antw:Mailversand sendEmail unter OS X funktioniert über fhem nicht, über Konsole ja..
Beitrag von: dogas am 16 Mai 2018, 13:32:16
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;
Titel: Antw:Mailversand sendEmail unter OS X funktioniert über fhem nicht, über Konsole ja..
Beitrag 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?
Titel: Antw:Mailversand sendEmail unter OS X funktioniert über fhem nicht, über Konsole ja..
Beitrag von: dogas am 16 Mai 2018, 13:42:22
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.
Titel: Antw:Mailversand sendEmail unter OS X funktioniert über fhem nicht, über Konsole ja..
Beitrag von: dogas am 16 Mai 2018, 13:48:56
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

Titel: Antw:Mailversand sendEmail unter OS X funktioniert über fhem nicht, über Konsole ja..
Beitrag von: Otto123 am 16 Mai 2018, 13:55:27
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