FHEM Forum

FHEM - Hardware => Einplatinencomputer => Thema gestartet von: Schnup am 13 November 2013, 19:16:29

Titel: Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Schnup am 13 November 2013, 19:16:29
Als Einsteiger in die Welt von Fhem und dem Raspbery Pi fehlten mir im WIKI-Beitrag "E-Mail senden" noch ein paar Erklärungen.
Inzwischen läuft die Funktion bei mir und ich möchte meine Erkenntnisse auch anderen Neueinsteigern zur Verfügung stellen.
Es wäre schön wenn ein erfahrener Nutzer einen prüfenden Blick darauf wirft.


Ergänzende Beschreibung zum Einrichten einer Mail-Funktion auf einem Raspberry Pi

Voraussetzung
Bei der Debian Version 7.x (Codename Wheezy) ist das Skript "sendEmail" nicht standardmäßig installiert.

1. Über das Konsolentool "which" lässt sich herausfinden, ob das Skript bereits installiert ist
      sudo which sendEmail
   Ist das Skript vorhanden, wird "/usr/bin/sendEmail" zurückgegeben und die beiden nächsten Punkte können übersprungen werden.

2. Vor einer Installation eines Pakets empfiehlt es sich zuerst die lokale Paketdatenbank zu aktualisieren:
     sudo apt-get update
   Es kann schon einen Moment dauern bis alle Pakete geprüft und ggf. aktualisiert sind!   
   
3. Das Skript "sendEmail" über die Paketverwaltung "apt-get" installieren:
     sudo apt-get install sendEmail
   Hier müssen ggf. noch Optionen bestätigt werden, danach steht das Skript zur Verfügung.


Verwendung
Zum Versenden einer E-Mail erfordert das Debian-Skript die Übergabe aller notwendigen Zugangsdaten.
Dabei können die Angaben zu Absender, Server/Provider, User, Passwort und Optionen in der Regel als konstant angesehen werden und müssen deshalb auch nur einmal definiert werden.
Veränderbare Parameter sind üblicherweise nur Empfänger-Adresse, Betreffzeile und der Inhalt der Nachricht.

Um unter Fhem nicht immer alle acht Parameter übergeben zu müssen, wird eine zusätzliche Funktion in der Datei "99_myUtils" angelegt. Als Vorlage dient, die im FHEMWikki beschriebene Unterroutine "DebianMail".
siehe auch  http://www.fhemwiki.de/wiki/E-Mail_senden  (http://www.fhemwiki.de/wiki/E-Mail_senden)

In der Funktion "DebianMail" werden die konstanten Zugangsdaten in Variablen ("my") gespeichert und zusammen mit den veränderbaren Parametern an das Debian-Skript übergeben.
HINWEIS: Dadurch wird "99_myUtils.pm" zu einer individuellen Datei, nur für die hier eingetragene Mail-Umgebung!

Zuordnung Parameter und "my" Variablen:
Die Funktion wird aus FHEM mit drei Parametern (Ziel-Adresse, Betreff, Text der Nachricht) aufgerufen.
Über "shift" werden die Werte in die ersten drei Variablen übernommen.   
   
   Debian-Sript Parameter  | my Variable  | Beschreibung 
    -t  ADDRESS [ADDR ...] | $rcpt        | E-Mail Adresse des Empfängers
    -u  SUBJECT            | $subject     | Text der Betreffzeile   
    -m  MESSAGE            | $text        | Text der Nachricht

An vierter Stelle steht die Variable "$ret", die intern für die Rückgabemeldung benötigt wird.   
   
In den folgenden Variablen werden die individuellen Zugangsdaten eingetragen.
WICHTIG: vor dem "@" Zeichen wird immer ein zusätzlicher Backslash "\" eingetragen!

    -f  ADDRESS            | $sender      | Alias-Adresse des Absenders mit "\@" anstatt "@"
   -xu USERNAME            | $konto       | Konto-Adresse bzw. SMTP Username mit "\@" anstatt "@"
   -xp PASSWORD            | $passwrd     | Passwort (Verschlüsselung?)
    -s  SERVER[:PORT]      | $provider    | E-Mail-Anbieter bzw. SMTP Serveradresse:Port

   
Der achte Parameter "-o tls=no" wird direkt übergeben und schaltet Transport Layer Security bzw. (SSL für SMTP) aus.


Besonderheit beim Aufruf der Funktion
Einige Fhem Funktionen z.B. "notyfy" und "ECMD" verwenden im Moment noch das "@" als Transferzeichen für die Rückgabe des Gerätenamens. Aus diesem Grund muss bei diesen Funktionen das "@" Zeichen in der Ziel-Adresse oder evt. auch im Text durch ein Doppelzeichen "@@" ersetzt bzw. maskiert werden.
Bei den anderen Fhem-Funktionen ist eine solche Maskierung nicht erforderlich.
 
Ein Beispiel, wo DebianMail() zusammen mit "notify" eingesetzt wird:       
    define n_batt_chk notify .*:[Bb]attery.* { if("%" !~ m/ok/) { \
      { DebianMail('Ziel@@Adresse.de', 'FHEM-Meldung', 'BatterieWechsel erforderlich bei @ -> Status: %')};; \   
      } \
    }
Die Funktion "n_batt_chk" prüft alle Geräte mit Hilfe von "notify" auf den Zustand von "Battery" bzw. "battery"  und ersetzt dabei die Zeichen wie folgt:
     "@@" -> durch "@"
     "@"    -> durch den Gerätenamen(device name)                 z.B.: "HT_BuTur"
     "%"    -> durch den gefundenen Zustand (received event) z.B.: "battery:low"
   
Sobald ein Zustand nicht "ok" ist, erfolgt eine E-Mail mit folgenden Angaben:
     an         : Ziel@Adresse.de
      Betreff : FHEM-Meldung
     Inhalt   : BatterieWechsel erforderlich bei HT_BuTur -> Status: battery:low
   
 
Wenn's mit Fhem nicht klappt
Sollte es beim Aufruf der Funktion in Fhem ein Problem geben, empfiehlt es sich zuerst eine E-Mail direkt von der Raspberry Konsole zu senden. Im folgenden Beispiel werden dazu die Zugangsdaten durch die eigenen Angaben ersetzt und als "EINE" Zeile an der Konsole eingegeben:
     sendEmail -f 'Ziel@Adresse.de' -t 'absender@account.de' -u 'Betreffzeile' -m 'Test-Nachricht'
               -s 'E-Mail-Anbieter' -xu 'kontoname@account.de' -xp 'passwort' -o tls=no

 

Noch viel Spaß mit Fhem auf dem Beerchen!
 
Schnup
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: ThomasD am 24 November 2013, 15:49:00
Hallo Schnupp,

vielen Dank fuer Deine Muehe. Ich bin blutiger Anfänger und stolpere immer noch :-)

Anbei der Code in der 99_myUtils.pm:

######### DebianMail  Mail auf dem RPi versenden ############
sub DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $ret = "";
my $sender = "name\@eclipso.de";
my $konto = "name\@eclipso.de";
my $passwrd = "pass!word666";
my $provider = "mail.eclipso.de:25";
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=no);
$ret =~ s,[\r\n]*,,g;    # remove CR from return-string
Log 1, "sendEmail returned: $ret";
}


fhem.cfg:

define Mail_Alarm notify Alarm{ {DebianMail('name@@web.de','Alarm2','AlarmGetriggert')};;}
attr Mail_Alarm icon message_mail
attr Mail_Alarm room Unsorted


rufe ich in dem FHEM Fenster:
{DebianMail('name@web.de','Alarm2','AlarmGetriggert')}
auf, so bekomme ich eine Email

schreibe ich:
trigger Mail_Alarm
bekomme ich keine :-(

Ich sehe folgendes im Log:
2013.11.24 16:00:17 5: Cmd: >trigger Mail_Alarm<
2013.11.24 16:00:17 5: Triggering Mail_Alarm (1 changes)
2013.11.24 16:00:17 5: Notify loop for Mail_Alarm
2013.11.24 16:00:17 4: eventTypes: notify Mail_Alarm  ->
2013.11.24 16:00:17 4: HTTP FHEMWEB:192.168.1.1:1670 GET /fhem

Hat jemand eine Idee?

Gruesse,
ThomasD

Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: ThomasD am 25 November 2013, 19:44:29
define Mail_Alarm notify Mail_Alarm {DebianMail('name@@web.de','Alarm','AlarmGetriggert')}

So tut es jetzt  :)
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: MiWe58 am 28 November 2013, 16:11:12
Hallo,

ich bereite derzeit den Umzug meiner FHEM - Installation von der Fritz-Box auf den RASPI vor.
Der E-Mail-Versand, wie hier beschrieben, funktioniert.

Nun haben verschiedene Provider angekündigt, den unverschlüsselten Versand von Emails zukünftig nicht mehr zu unterstützen. Unabhängig davon habe ich auch sonst Interesse, alle Mails zu verschlüsseln.

Für T-Online habe ich versucht, diese hier gezeigte Konfiguration auf den "securesmtp" mit "TLS" zu adaptieren, was mir leider nicht gelungen ist.

Möglicherweise hat das hier schon jemand probiert und kann einen ergänzenden Hinweis zu der erforderlichen Konfiguration geben

Im Logfile erhalte ich die folgende Meldung, wenn ich "TLS = yes" setze:
2013.11.28 15:20:49 1: sendEmail returned: Nov 28 15:20:49 raspberrypi sendEmail[2178]: NOTICE => Authentication not supported by the remote SMTP server!Nov 28 15:20:49 raspberrypi sendEmail[2178]: ERROR => Received:    530 5.7.0 Must issue a STARTTLS command first.

sonst gibt es keinen Eintrag im Logfile

Gruß
Michael

Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: hckoe am 28 November 2013, 17:01:00
Hallo Michael,

hast Du es schon einmal mit "securesmtp.t-online.de:587" versucht, weil der securesmtp nicht auf Port 25 sondern auf 587 hört.

Gruß
Helmut
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: MiWe58 am 28 November 2013, 17:46:45
ja, Port 587 habe ich eingestellt
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: hckoe am 28 November 2013, 18:05:06
Könntest Du in dem "sendemail"-Kommando noch Debug-Ausgaben aktivieren mit dem Schalter "-v" bzw. "-vv".

Gruß
Helmut
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Rohan am 28 November 2013, 21:18:00
Hallo Michael,

Zitat von: MiWe58 am 28 November 2013, 17:46:45
ja, Port 587 habe ich eingestellt

Ich kenne jetzt T-Online-Mail-Einstellungen nicht, aber ich habe gerade ähnliches für web.de und gmx gemacht (weil die auch spätestens Anfang 2014 komplett auf "verschlüsselt" umstellen). Die verschlüsseln aber beide nicht per TLS, sondern SSL und laufen auf Port 465 als SMTP-Postausgangsserver.

Gruß
Thomas
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: cerberus am 28 November 2013, 21:46:10
Hallo, ich hatte Probleme mit Googlemail und mußte noch folgendes ändern.

Problems
If you get the following error:
"invalid SSL_version specified at /usr/share/perl5/IO/Socket/SSL.pm line 332"

It is a known bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=679911

A temporary workaround is to edit the file /usr/bin/sendemail on line 1907 by changing 'SSLv3 TLSv1'in  to 'SSLv3',


Gruß
cerberus

Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: CQuadrat am 29 November 2013, 13:22:48
Ja, das ist ein leidiges Thema. Ich habe diese Problem schon von Anfang an. Alle paar Wochen recherchiere ich mal dazu und gelange immer wieder nur den folgenden Hinweis:

Zitat von: cerberus am 28 November 2013, 21:46:10
Problems
If you get the following error:
"invalid SSL_version specified at /usr/share/perl5/IO/Socket/SSL.pm line 332"

It is a known bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=679911

A temporary workaround is to edit the file /usr/bin/sendemail on line 1907 by changing 'SSLv3 TLSv1'in  to 'SSLv3',


Leider funktioniert das bei mir nicht (bin bei t-online). Auf meiner "normalen" Linux-Distribution (Ubuntu) funktioniert sendEmail problemlos.


Nachtrag:
Man findet auch, dass man in der Datei /usr/local/share/perl/5.14.2/IO/Socket/SSL.pm in Zeile 1490 den Inhalt von

m{^(!?)(?:(SSL(?:v2|v3|v23|v2/3))|(TLSv1[12]?))$}i

nach

m{^(!?)(?:(SSL(?:v2|v3|v23|v2/3))|(TLSv1[12]?))}i

abändern soll. Aber das hilft bei mir auch nicht.

Viele Grüße

Christoph
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: brocky am 21 Dezember 2013, 01:27:22

Ich habe nachdem der unten angegebene Workarround bei mir mit T-Online nicht funktioniert hat den Wert nicht in SSLv3 sondern in TLSv1 geändert.
Danach hat es bei mir funktioniert.


A temporary workaround is to edit the file /usr/bin/sendemail on line 1907 by changing 'SSLv3 TLSv1'in  to 'SSLv3',
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: CQuadrat am 21 Dezember 2013, 09:55:35
Super! Es funktioniert.

Das war die Lösung.


1000 Dank!
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: marc2 am 27 Dezember 2013, 00:12:25
Moin !

Nur so als Anregung. Aus meiner Sicht ist es sinnvoller, sich auf dem Raspi Postfix zu konfigurieren, und die Mails aus FHEM
heraus direkt mit MIME::Lite (o.ä. CPAN Modulen) zu versenden. Dies hat diverse Vorteile:


Gerade der letzte Punkt war für mich entscheidend. Von der Fritzbox (und /sbin/mailer) kommend hatte ich durchaus
schon das Problem, dass der Provider (bei mit 1&1) ein SMTP Problem hatte. Da die Mails von FHEM synchron direkt
zum Provider geschickt wurden, und dies im Fehlerfall zu extrem langen Timeouts beim Maiversand geführt hat, war
FHEM quasi tot. Um dieses Problem auf dem Raspi (bzw. bei mir einem BBB) zu umgehen, schickt FHEM die Mails daher
an die lokale Postfix Instanz, welche die Mails bei Bedarf (SMTP Problem beim Provider) queued. Auswirkungen auf
FHEM sind damit  dann ausgeschlossen.

Anbei meine recht simple Mailroutine aus  der 99_myUtils.pm:

sub pl_mail {
        my ($rcpt, $subject, $text, $attachment) = @_;
        my $msg = MIME::Lite->new (
                          From    => 'FHEM <fhem@domain.xy>',
                          To      => $rcpt,
                          Subject => $subject,
                          Type    => 'multipart/mixed'
                       );

        $MIME::Lite::AUTO_CONTENT_TYPE = 1;

        if ($attachment ne "") {
                $msg->attach(Path     => $attachment,
                             Filename => basename($attachment),
                             Disposition => 'attachment'
                );
        }

        if ($text ne "") {
                 $msg->attach(Type    =>'TEXT',
                              Data    => $text
                 );
        }

        $msg->send;
        Log 3, "Mail sent to $rcpt";
}


Howtos, wie man Postfix im Zusammenspiel mit Provider XYZ konfiguriert gibt es von jedem größeren Provider.

Gruß, Marc
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: netbus am 15 Januar 2014, 11:07:58
Ich habe eine Frage zur Variable % im Email Text.
Ich nutze die Email Funktion für Sturmwarnungen und bekomme die Daten vom Yahoo Wetter Modul.
Das funktioniert soweit ganz gut nur ich hätte gerne die Windgeschwindigkeit in der Email enthalten bekomme aber immer nur Emails mit % als Zeichen.

define sturmwarnung at +*01:00:00 { if (ReadingsVal("wetter","wind_speed",99) > 30) { DebianMail('ich@gmail.com','Sturmwarnung','Es wird stürmisch bis zu % kmh');;}}

Was mache ich falsch?
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Navigator am 04 Mai 2014, 10:51:02
Gibt es noch eine Möglichkeit das PW, was in den myUtils hinterlegt ist zu verschlüsseln? 
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Fritz!Maxi am 06 Mai 2014, 21:36:48
Zitat von: Schnup am 13 November 2013, 19:16:29
...
Ein Beispiel, wo DebianMail() zusammen mit "notify" eingesetzt wird:       
    define n_batt_chk notify .*:[Bb]attery.* { if("%" !~ m/ok/) { \
      { DebianMail('Ziel@@Adresse.de', 'FHEM-Meldung', 'BatterieWechsel erforderlich bei @ -> Status: %')};; \   
      } \
    }
Die Funktion "n_batt_chk" prüft alle Geräte mit Hilfe von "notify" auf den Zustand von "Battery" bzw. "battery"  und ersetzt dabei die Zeichen wie folgt:
     "@@" -> durch "@"
     "@"    -> durch den Gerätenamen(device name)                 z.B.: "HT_BuTur"
     "%"    -> durch den gefundenen Zustand (received event) z.B.: "battery:low"
   
Sobald ein Zustand nicht "ok" ist, erfolgt eine E-Mail mit folgenden Angaben:
     an         : Ziel@Adresse.de
      Betreff : FHEM-Meldung
     Inhalt   : BatterieWechsel erforderlich bei HT_BuTur -> Status: battery:low
...


Vielen Dank für die ausführliche Beschreibung und vor allem das Beispiel mit der Batterieüberwachung! Das habe ich jetzt bei mir mal ausprobiert. Ich habe allerdings bei jeder Statusmeldung eines Heizungsthermostats eine Mail erhalten. Daher eine Kleine Ergänzung: "Schuld" daran ist die 2. battery-Meldung:
2014-05-06 21:13:57 CUL_HM HM_CC_RT_DN_Heizung battery: ok
2014-05-06 21:13:57 CUL_HM HM_CC_RT_DN_Heizung batteryLevel: 2.9



Da batteryLevel: 2.9 ein Zustand nicht "ok" ist wird eine Mail versendet obwohl das nicht gewollt / nötig ist. Ein Doppelpunkt in der battery-Abfrage hat das Problem aber für mich gelöst:
Zitatdefine n_batt_chk notify .*:[Bb]attery:.*  usw.
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: marvin78 am 13 Juni 2014, 12:06:44
Workaround:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=679911#15 (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=679911#15)
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: franky08 am 13 Juni 2014, 12:15:40
Das funktioniert zwar, wie ich gestern getestet habe ABER wenn die SSL.pm geändert wird läuft das Calendar Modul mit dem Google kalender nicht mehr!

Siehe:

http://forum.fhem.de/index.php/topic,24496.0.html
http://forum.fhem.de/index.php/topic,24528.0.html

VG
Frank
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: marvin78 am 13 Juni 2014, 12:28:54
Da wird aber nicht die SSL.pm geändert sondern /usr/bin/sendemail. Und dann klappt's auch mit allen anderen Modulen.
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: franky08 am 13 Juni 2014, 12:50:19
Ah gut zu wissen  :) Dachte bis eben das es nur mit einer Änderung der ssl.pm geht, hatte deinen verlinkten Artikel gestern nur überflogen und im Hinterkopf noch die Geschichte mit der ssl.pm.

VG
Frank
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Navigator am 11 September 2014, 23:46:38
...ich muss noch mal fragen ob das Passwort, was in der 99_myUtils hinterlegt ist irgendwie verschlüsselt werden kann.
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: alexmd am 17 März 2015, 09:55:58
Zitat von: marc2 am 27 Dezember 2013, 00:12:25
...

Nur so als Anregung. Aus meiner Sicht ist es sinnvoller, sich auf dem Raspi Postfix zu konfigurieren, und die Mails aus FHEM
heraus direkt mit MIME::Lite (o.ä. CPAN Modulen) zu versenden. Dies hat diverse Vorteile:

...

Hallo Marc,

ich bin neu hier, würde das gerne mit postfix machen, der ist auch schon eingerichtet und mailt auch aus der console...
Wie würde ich deine Funktion in einer notify definition auffrufen wenn  z.b. der Device Monitor ein device auf "dead" setzet?

Gruß Alex
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: crissiloop am 17 März 2015, 20:48:57
Hallo Alex,
ich habe die folgende Funktion in meiner 99_myutils.pm:

sub Postfixmail ($$$) {
my ($Empfaenger,$Betreff,$Text) = @_;
system ("echo \"$Text\" | mail -s \"$Betreff\" $Empfaenger");
return undef;
}


Und die Definition des Notify sieht so aus.

.*:Activity.* {if ("$EVENT" !~ "alive") {
Postfixmail('andieseEmailwirdgesendet@PROVIDER.de', 'FHEM Gerät meldet sich nicht mehr', $NAME." ist ".$EVENT);
Log 3, "$NAME: meldet sich nicht ";
}
}


Gruß
Christian
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: alexmd am 17 März 2015, 22:02:12
habe es mal so konfiguriert, wenn ich den notify definiere bekomme ich Folgenden Fehler:

Unknown command Log, try help.
Unknown command }, try help.
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: crissiloop am 19 März 2015, 17:37:35
Hallo Alex,

der Inhalt des Notifys ist aus dem DEF-Fenster! Nicht im configfile so eingeben.
Ist bei mir so in Verwendung und funktioniert problemlos.

Gruß
Christian
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: alexmd am 19 März 2015, 18:40:28
Hallo Christian

das ging jetzt, im Event Monitor sehe ich jetzt auch DeviceMonitor notify active aber ich habe keine mail...

Kann man den Befehl postfixmail irgendwie testen?

Gruß Alex
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: alexmd am 19 März 2015, 19:43:43
Ich habe nun mal einen Testnotify erstellt und den ohne Bedingung an einen meiner FS20 Schalter gehängt.
Ergebnis war eine Mail bei jedem Schaltvorgang.

Ich habe die DeviceMonitor Notfication nun angepasst:


.*:health_state:.* {if ("$EVENT" !~ "alive") {
Postfixmail('andieseEmailwirdgesendet@PROVIDER.de', 'FHEM Gerät meldet sich nicht mehr', $NAME." ist ".$EVENT);
Log 3, "$NAME: meldet sich nicht ";
}
}


Das scheint nun zu funktionieren.
Hast du wirklich als Regexp .*:Activity.* ?
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: crissiloop am 19 März 2015, 21:39:06
Hallo Alex,

ja das Notify ist genauso in Benutzung und ich habe auch darüber bereits Mails erhalten. Allerdings habe ich Homematic Komponenten. Ich habe den Event ja vorher extra im Monitor angeschaut.
Das musst du sonst vielleicht auf deine Verhältnisse anpassen.

Gruß
Christian
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: alexmd am 19 März 2015, 21:55:11
Hallo Christian.

nun ja sagen wir mal so bei mir steht das auf dem Event Montor:


z.b.:
2015-03-19 21:48:10 HMS HMS_SZ health_state: dead


Von daher sollte das passen denke ich.
Jetzt habe ich zumindest ein config beispiel und kann mir meine weitern notifies zusammenbasteln...

Danke dir.

Gruß Alex
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Martin-72 am 11 November 2015, 21:30:03
Hallo Zusammen,

gibt es eigentlich auch Codes um den Text in der Mail zu formatieren?

Ich denke da an:
     * Zeilenumbruch
     * Fett
     * Zentriert...

Vielen Dank

Martin
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Wernieman am 17 November 2015, 08:16:32
Zeilenumbruch kein Problem

Aber für den Rest müsstest Du HTML-Mails verschicken .. und DAS willst Du nicht.
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Rince am 17 November 2015, 09:59:22
Wenn er sich das als RSS zusammenbaut und als jpg per Mail schicken lässt?
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Wernieman am 17 November 2015, 14:13:18
Dann müsste er ein Mailproggi mit Anhangmöglichkeit verwenden (oder selber mime-Mail generieren)
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: ErzGabriel am 21 November 2015, 11:30:30
Hallo zusammen.
Ich habe ein Problem mit dem versenden der Mail, wenn ich es über Konsole mache klappt es einwandfrei.
Will ich aber ne Mail über Fhem versenden, kommen immer zwei Fehlermeldungen.
1. smtp.gmail.com:587 nicht gefunden
2. Argument hinter -s kein Server.

Weiß da jemand Rat, weil ich komme nicht merh weiter.

Danke.
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Wernieman am 23 November 2015, 08:13:50
Als welcher User hast Du es auf der Konsole probiert?
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: ErzGabriel am 23 November 2015, 08:21:27
Habe die Mail als ROOT, als auch per User Pi per Konsole verschickt, deswegen schließe ich ein Rechteproblem aus. Der User Pi hat seit der Einrichtung des RPi keine besonderen Rechte erhalten, habe damals nur das Passwort geändert.
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Wernieman am 25 November 2015, 09:07:16
Einfache Frage:
Und unter welchem User läuft fhem?

auch mit dem User probiert??
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: ErzGabriel am 25 November 2015, 10:19:53
Das ist eigene Dämlichkeit von mir, unter fhem habe ich das vergessen zu testen.
Nur komme ich uaf der Linux Konsole nicht in den User fhem rein. Habe versucht, das Passwort neu zu setzen oder zu löschen, nichts klappt.
Danach habe ich dem User fhem die nötigen Rechte für das Verzeichnis gegeben in dem sendMail liegt. Wenn ich in der fhem Konsole per Zeile eine Mail verschicke kommt keine Fehlermeldung und es taucht nichts im Event Monitor oder im Log auf.
Der von mir bereits gesetzte notify meldet im Log immer unbekannter Nutzer, habe die Absendermail mehrmals gecheckt, sie stimmt und enthält keinen Schreibfehler.
Ich weiß nicht mehr weiter und habe absolut keine Idee mehr unter welchen Suchbegriffen ich bei Google was finden könnte, habe mich schon ne halbe Woche durch Google gesucht.
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Wernieman am 25 November 2015, 10:33:59
Gibt uns bitte:

grep fhem /etc/passwd
Warscheinlich steht am Ende so etwas wie "/bin/false", "/usr/sbin/nologin" o.Ä.
Bitte Ändern in "/bin/bash"

ansonsten, als root einloggen und probieren:
su - fhem
(Das "-" ist wichtig!)

Btw:
grep fhem /etc/group
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: ErzGabriel am 25 November 2015, 10:55:18
Jupp, da lag der Fehler. Nachdem ich es nach Deinen Angaben geändert habe komme ich in der Linuxkonsole in den Benutzer fhem und kann die Email auch versenden.
Versenden über Linuxkonsole klappt einwandfrei.

Erneuter Test über Fhemkonsole. Kein Eintrag im Log oder im Eventmonitor.

Kontrolle Log auf den bereits eingerichteten notify
2015.11.25 10:51:18 4: n_batt_chk exec { if("%" !~ m/ok/) {
      { DebianMail('********@@gmail.com', 'FHEM-Meldung', 'BatterieWechsel erforderlich bei$
      }
    }
2015.11.25 10:51:18 5: Cmd: >{ if("%" !~ m/ok/) {
      { DebianMail('**********@@gmail.com', 'FHEM-Meldung', 'BatterieWechsel erforderlich bei$
      }
    }<
2015.11.25 10:51:18 1: sendEmail RCP: *********@@gmail.com
2015.11.25 10:51:18 1: sendEmail Subject: FHEM-Meldung
2015.11.25 10:51:18 1: sendEmail Text: BatterieWechsel erforderlich bei @ -> Status: %
sh: 2: ********@gmail.com: not found
2015.11.25 10:51:20 1: sendEmail returned: Nov 25 10:51:20 mainframe sendEmail[20299]: WARNING =$
2015.11.25 10:51:20 5: CUL/RAW: /TACD9AE82F7


Keine Veränderung, habe die Absenderadresse gecheckt, kein Schreibfehler in der Utils.pm
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Wernieman am 25 November 2015, 11:00:31
Auf der Konsole funzt es??? auch mit dem DebianMail-Script?

Mich wundert das "sh: 2: ********@gmail.com: not found"
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: ErzGabriel am 25 November 2015, 11:04:42
Funzt nur auf der Linuxkonsole, in der Direkteingabe bei Fhem passiert nichts.

Ich bin schon länger ratlos, deswegen habe ich mich ja hier ans Forum gewendet.
Das sh verstehe ich auch nicht und habe auch keinen Schimmer wo das her kommt.
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Wernieman am 25 November 2015, 11:08:44
NHur mal so ..... hast Du probiert mit nur einem "@"?

P.S. Deine EMail ist in dem beitrag an erster Stelle zu sehen: Absicht oder Übersehen?
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: ErzGabriel am 25 November 2015, 11:19:57
Das mit der Emailadresse hatte ich übersehen. Schon geändert. Danke.

Habe die Änderung gemacht, wie Du vorgeschlagen hast, keine Änderung. Alles wie vorher.
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Wernieman am 25 November 2015, 11:22:37
Sicherheitshalber:
Auf der Konsole funktioniert ein:
DebianMail('********@@gmail.com', 'FHEM-Meldung', 'test'
??
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: ErzGabriel am 25 November 2015, 11:32:08
Code von Dir kopiert, unbekanntes Kommando. Gleiche Befehlszeile in {} gesetzt, keine Email und nichts im Log.
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Wernieman am 25 November 2015, 12:02:21
Ich meinte in der Konsole als "Fhem-User" ....

Ist eigentlich aus Deinem Output kopiert ...
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: ErzGabriel am 25 November 2015, 12:03:27
Linuxkonsole als Fhem-User klappt es einwandfrei.
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Wernieman am 25 November 2015, 12:07:42
O.K. und in Fhem mit {}??
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: ErzGabriel am 25 November 2015, 12:08:53
In Fhem mit {} passiert nichts und es kommt keine Mail an.
Steht auch nichts im Log oder Event Monitor.
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Wernieman am 25 November 2015, 12:11:28
Da gleiche Kommando?? also 1zu1 ??
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: ErzGabriel am 25 November 2015, 12:16:29
Was meinst Du jetzt mit gleiche Kommando als 1 zu 1?
Kann Dir gerade nicht ganz folgen. Sorry.
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Wernieman am 25 November 2015, 12:20:54
Das gleiche, wie auf der Konsole, nur eben in FHEM mit {} eingeschlossen ....
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: ErzGabriel am 25 November 2015, 12:25:32
Linux Konsole:
sendEmail -f ********@gmail.com -t ********@gmail.com -u TEST -m TEST -s smtp.gmail.com:587 -xu ********@gmail.com -xp Passwort -o tls=yes

Funktioniert unter Fhem User, Pi User und Root



Fhem Eingabezeile
{DebianMail('*******@gmail.com','TEST','TEST')}

Funktioniert nicht. Kein Eintrag im Logfile und nichts im Eventmonitor zu sehen.
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Wernieman am 25 November 2015, 12:32:10
Du sollst auf der Kommandozeile nicht sendmail sondern DebianMail nehmen ....

Wir wollen doch wissen, warum es in FHEM nicht läuft, aber auf der Konsole ... ansonsten könntest Du das "sendmail"-Kommando in FHEM verwenden ...

Wobei .... wie ist eigentlich DebianMail definiert?

Edit

Mein fehler ... DebianMail ist in FHEM selber definiert .... Kannst Du Dir für die Debug-Zwecke erst mal die Definition in ein eigenes perl-Script kopieren?
Ich gehe davon aus, das Du es aus dem Wiki-hast (http://www.fhemwiki.de/wiki/E-Mail_senden (http://www.fhemwiki.de/wiki/E-Mail_senden))
Dann den Bereich "DebianMail" in ein perl-script, und anschließend noch ein Aufruf rein. Dann das Script ausführbar machen (chmod +x) und mal auf der Konsole testen. Wenn nicht funzt: Mehr Debug-Ausgaben einfügen!

Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: ErzGabriel am 25 November 2015, 12:35:04
DebianMail kann doch auf der Konsole nicht funktionieren, da es in der 99_utils.pm von Fhem definiert ist. Die Utils ist ja nicht in Linux geladen, da nur für Fhem.
Also verstehe ich jetzt nicht, wie ich das in der Linuxkonsole funktionieren soll.
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Wernieman am 25 November 2015, 12:36:59
s.o. ;o)
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: ErzGabriel am 25 November 2015, 12:41:01
Da ist mein Problem, ich habe von Perl null Ahnung.
Verstehe zwar was Du jetzt vor hast, kann es aber aus mangelnden Kenntnissen nicht umsetzen.
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Wernieman am 25 November 2015, 12:58:43
Also ...
packe einfach in eine Datei (z.B. DebianMail.pl:
#!/bin/perl

sub DebianMail (Wie -In-Fhem-Definiert)
......

DebianMail (wie in FhemAufruf)


Sonst schreib mal, wie DebainMail bei Dir definiert ist ...
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Wernieman am 25 November 2015, 13:00:17
P.S.:
http://perl-6.de/tutorials/anfaenger/ (http://perl-6.de/tutorials/anfaenger/)
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: ErzGabriel am 25 November 2015, 13:04:26
Okay, danke. Das wird aber dauern, bis ich da durch bin, da ich nicht der schnellst bin bei sowas es zu begreifen.

in der 99_Utils.pm steht es wie folgt:
######## DebianMail  Mail auf dem RPi versenden ############
sub
DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $attach = shift;
my $ret = "";
my $sender = "absender\@account.de";
my $konto = "kontoname\@account.de";
my $passwrd = "passwrd";
my $provider = "smtp.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=no -o message-charset=utf-8);
$ret =~ s,[\r\n]*,,g;    # remove CR from return-string
Log 1, "sendEmail returned: $ret";
}
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Wernieman am 25 November 2015, 13:15:19
Ist doch einfach ;o)

#!/usr/bin/perl

sub
DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $attach = shift;
my $ret = "";
my $sender = "absender\@account.de";
my $konto = "kontoname\@account.de";
my $passwrd = "passwrd";
my $provider = "smtp.provider.de:25";

print "sendEmail RCP: $rcpt\n";
print "sendEmail Subject: $subject\n";
print "sendEmail Text: $text\n";
print "sendEmail Anhang: $attach\n";;

$ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -a '$attach' -s '$provider' -xu '$konto' -xp '$passwrd' -o tls=no -o message-charset=utf-8);
$ret =~ s,[\r\n]*,,g;    # remove CR from return-string

  print "sendEmail returned: $ret\n";
}

DebianMail('*******@gmail.com','TEST','TEST')


Mußte nur die "LOG" editieren, da diese eine Spezialität von FHEM sind ...

Edit:
Nochmals Angepasst (für die Konsole, NICHT für fhem!)

Edit2:
Habe es bei mir getestet, funzt so
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: ErzGabriel am 25 November 2015, 13:33:10
Script abgetippt und ausführbar gemacht.
Script gestartet und es kommt ne bash Meldung:
Syntaxfehler beim unerwarteten Wort `'*******@gmail.com','TEST','TEST''

Wenn ich jetzt nich ganz daneben liege, fehlt dem Rpi was von Perl.
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Wernieman am 25 November 2015, 13:37:32
??? Kannst Du mir bitte die GENAUE Aufrufzeile von DebianMail geben?
Am besten "copy&paste"

Bei mir funzt es ...

P.S. gesehen, das ich es editiert habe?
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: ErzGabriel am 25 November 2015, 13:39:31
Jupp, hatte gesehen, das Du es überarbeitet hast und habe es mit der Version getestet.

Habe die Aufrufzeile von Dir genommen, die unter dem Script steht, habe nur debianmail komplett kleingeschrieben.
Und natürlich die Emailadresse richtig eingesetzt.
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Wernieman am 25 November 2015, 13:42:41
d.h. auch die Anzahl von ' sind gleich?

was sagt bei Dir der Aufruf von
/usr/bin/perl -v

BTW:
sendemail -v
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: ErzGabriel am 25 November 2015, 13:45:15
Ja, gleiche Anzahl, deswegen extra copy&paste

pi@Mainframe ~ $ /usr/bin/perl -v

This is perl 5, version 14, subversion 2 (v5.14.2) built for arm-linux-gnueabihf-thread-multi-64int
(with 89 registered patches, see perl -V for more detail)

Copyright 1987-2011, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

pi@Mainframe ~ $ sendEmail -v
Nov 25 13:44:10 mainframe sendEmail[25757]: ERROR => You must specify a 'from' field!  Try --help.
pi@Mainframe ~ $
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Wernieman am 25 November 2015, 13:53:14
Habe bei mir zwar perl 5.20, das sollte es aber nicht sein.

Es müsste also irgendwo im Aufruf der Fehler sein, deshalb mal:
#!/usr/bin/perl

sub
DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $attach = shift;
my $ret = "";
my $sender = "absender\@account.de";
my $konto = "kontoname\@account.de";
my $passwrd = "passwrd";
my $provider = "smtp.provider.de:25";

print "sendEmail RCP: $rcpt\n";
print "sendEmail Subject: $subject\n";
print "sendEmail Text: $text\n";
print "sendEmail Anhang: $attach\n";
print "sendEmail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -a '$attach' -s '$provider' -xu '$konto' -xp '$passwrd' -o tls=no -o message-charset=utf-8";
$ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -a '$attach' -s '$provider' -xu '$konto' -xp '$passwrd' -o tls=no -o message-charset=utf-8);
$ret =~ s,[\r\n]*,,g;    # remove CR from return-string

  print "sendEmail returned: $ret\n";
}

print "Vor Aufruf\n";
DebianMail('*******@gmail.com','TEST','TEST');
print "Nach Aufruf\n";


Habe jetzt nur 3 print und ein ";" dazugefügt .... bitte um Ausgabe. (Passwort und Konto gerne ausixen)

Mal eine andere Frage, hast Du im Passwort ein besonderes Zeichen?

Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: ErzGabriel am 25 November 2015, 14:02:03
Passwort besteht nur aus Buchstaben und Zahlen.

Komme jetzt nicht ganz klar.
Habe die neue Version vom Script in meiner Datei gespeichert. Rufe ich dann debianmail auf, kommt der gleiche bash Fehler wie vor der Änderung.
Oder habe ich da jetzt was falsch verstanden und nicht richtig umgesetzt.
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: ErzGabriel am 25 November 2015, 14:30:49
Alles klar. Hatte ein DebainMail in Deiner Vorgabe vergessen auf klein zu ändern.

pi@Mainframe ~ $ ./debianmail.pl
Vor Aufruf
sendEmail RCP: *******@gmail.com
sendEmail Subject: TEST
sendEmail Text: TEST
sendEmail Anhang:
sendEmail -f '*******@gmail.com' -t '*******@gmail.com' -u 'TEST' -m 'TEST' -a '' -s
'smtp.gmail.com:25' -xu '*******@gmail.com' -xp 'PASSWORT' -o tls=no -o message-charset=utf-8sh: 2: smtp.gmail.com:25: not found
sendEmail returned: Nov 25 14:27:50 mainframe sendEmail[27037]: WARNING - The argument after -s was not the server!Nov 25 14:27:50 mainframe sendEmail[27037]: ERROR => Connection attempt to localhost:25 failed: IO::Socket::INET6: connect: Verbindungsaufbau abgelehnt
Nach Aufruf
pi@Mainframe ~ $


Ausgabe beim Aufrufen des Scripts.
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Wernieman am 25 November 2015, 15:19:17
Irgendwie stimmt Dein Script nicht:
sendEmail -f '*******@gmail.com' -t '*******@gmail.com' -u 'TEST' -m 'TEST' -a '' -s
'smtp.gmail.com:25' -xu '*******@gmail.com' -xp 'PASSWORT' -o tls=no -o message-charset=utf-8sh: 2: smtp.gmail.com:25: not found
sendEmail returned: Nov 25 14:27:50 mainframe sendEmail[27037]: WARNING - The argument after -s was not the server!Nov 25 14:27:50 mainframe sendEmail[27037]: ERROR => Connection attempt to localhost:25 failed: IO::Socket::INET6: connect: Verbindungsaufbau abgelehnt


Nach -s soll und muß noch etwas kommen. Deshalb der folgende Fehler!

Kannst Du bitte mal Dein Komplettes Script rübergeben?
(EMail/Passwort nicht vergessen zu "schwärzen)
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: ErzGabriel am 25 November 2015, 15:28:45
Ich habe beide Scripts, das im Fhemwiki und das Perl Script von Dir, jeweils per copy&paste auf den RPi übertragen und dann nur die Daten für Emailadresse und Passwort angepasst.
Somit hats Du ja beide Scripte schon und ich wüsste nicht wie da ein Fehler rein gekommen sein kann.
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Wernieman am 25 November 2015, 15:35:55
Naja .. wenn ich das Script aufrufe, bekomme ich:
root@mimi:~# ./DebianMail.perl
Vor Aufruf
sendEmail RCP: werner@maxel.home
sendEmail Subject: TEST
sendEmail Text: TEST
sendEmail Anhang:
sendEmail -f 'fhem@xxx.home' -t 'werner@xxx.home' -u 'TEST' -m 'TEST' -a '' -s 'mimi.xxx.home:25' -xu 'fhem@xxx.home' -xp 'passwrd' -o tls=no -o message-charset=utf-8sendEmail returned: Nov 25 15:32:20 xxx sendEmail[14740]: NOTICE => Authentication not supported by the remote SMTP server!Nov 25 15:32:20 xxx sendEmail[14740]: Email was sent successfully!
Nach Aufruf

(Bitte nicht wundern, habe intern keine Authentifizierung, Namen ausgeixxxt)

Das passt nicht zu Deiner Ausgabe
...
sendEmail -f '*******@gmail.com' -t '*******@gmail.com' -u 'TEST' -m 'TEST' -a '' -s
...


Deshalb meine Anfrage.

Auf jedenfall können wir bis jetzt zusammenfassen:
- Es liegt nicht an FHEM
- es liegt nicht an sendemail
Sondern irgendwo im Perl-Code von DebianMail ....
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: ErzGabriel am 25 November 2015, 15:39:44
Ich habe das Script aus dem Post 67 von Dir eins zu eins kopiert.
Wenn es wirklich an Perl liegt, dann kommt mir doch die Vermutung, das ein Perl Modul fehlt. Bin zwar der Meinung ich hätte alle Module installiert aber wenn Du mir mal ne Liste der Module zukommen lassen könntest, kann ich das überprüfen.
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Wernieman am 25 November 2015, 15:54:12
Guuute Frage .. wie kommt man an die Liste der "Perl-Module"?

Bin eher der meinung, das ein copy&paste-Fehler vorliegt.

Ist denn nach dem "-s" bei Dir noch etwas??
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: ErzGabriel am 25 November 2015, 16:29:42
Dachte, Du hast vielleicht noch die Zeile zur Hand, die Du damals eingegeben hast.
So mal eben alles abrufen geht nicht so einfach und würde auch ne ellen lange Liste ergeben.

Aber Deine Aussage mit dem, ob ich noch was hinter -s stehen habe, brachte mich auf ne Idee.
Habe mir das Script noch mal genau angeschaut. Beim copy&paste hatte sich eine Zeilenumbruch eingefügt, den ich nicht weiter beachtet habe, den habe ich entfernt und nun funzt es.

Die Lösung kann manchmal so einfach sein. ;-)

Jetzt muss es nur noch in Fhem zum laufen gebracht werden.
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Wernieman am 25 November 2015, 16:33:03
Soooooo .... was Du in dem "sub" hast, mußt Du 1zu1 in FHEM stehen haben.....
(Abgesehen von den "print" Zeilen, dort bitte die LOG-Zeilen)

(P.S. als User "FHEM" getestet?)

DANN in der FHEM Eingabezeile eingeben:

{ DebianMail('werner@xxx.home','TEST','TEST'); }

Bzw natürlich Deine EMail-Adresse ;o)

P.S. ein eventuellen FHEM-Restart wegen config-Änderung nicht vergessen ....
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: ErzGabriel am 25 November 2015, 16:59:27
Jupp, hatte ich als Fhem User  getestet.

Habe jetzt das Perl Script in die 99_Utils.pm kopiert. Auch drauf geachtet, das ich keinen Zeilenumbruch drin habe.

Und siehe da, es funktioniert spitze.
Kriege alle zwei Minuten eine Email von Fhem. Mein notify stimmt vorne und hinten nicht. ;-)
Da muss ich also noch mal dran arbeiten, weil die Batterie ist nicht leer und es steht auch nicht wirklich drin, welches Bauteil einen Batteriewechsel brauch.

Ich danke Dir Wernieman für Deine Geduld und Hilfe, das Problem zu lösen.
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Wernieman am 26 November 2015, 08:22:34
Gern geschehen ...

mal Prinzipiell, im Rückblick:
War Vorgehen klar .. und was hätte man besser machen können?
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: ErzGabriel am 26 November 2015, 08:33:22
Vorgehen war klar.

1. Fehlerbeschreibung
2. Testen über Linuxkonsole, zum ausschließen, das ein Fehler in sendemail ist und alle Rechte vergeben sind.
3. Perlscript anlegen, zum erleichterten suchen und beheben von Fehlern in der debianmail Subroutine.
4. Perl Subroutine übertragen in Fhem und erneuten Test, das beim übertragen sich keine Fehler neu eingeschlichen haben.

Besser machen, wüsste jetzt nicht, was wir da hätten besser machen können.
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Wernieman am 26 November 2015, 08:42:50
Danke .. war auch eher für mich gedacht, wir hatten uns zwischenzeitlich nicht gaaans verstanden ;o)
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Benni am 26 November 2015, 08:57:38
Zitat von: ErzGabriel am 25 November 2015, 16:59:27
Habe jetzt das Perl Script in die 99_Utils.pm kopiert.

Du hast dir dafür aber hoffentlich eine eigene 99_myUtils.pm angelegt und nicht wirklich die bereits vorhandene 99_Utils.pm genommen.
Sonst währt die Freude u.U. nur bis zum nächsten Update. Siehe dazu bspw. auch folgenden Forenbeitrag: http://forum.fhem.de/index.php?topic=13854.0 (http://forum.fhem.de/index.php?topic=13854.0)
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: ErzGabriel am 26 November 2015, 09:27:17
@Werniemann
Okay, leichte Verständigungsprobleme waren zwischendurch vorhanden aber hat ja alles trotzdem geklappt.

@Benni
Ja, habe es in die 99_myUtils.pm gespeichert. Das ist mir schon bekannt, trotzdem danke für den Hinweis.
Habe sogar die Datei noch mal separat bei mir gesichert, für den Fall aller Fälle.
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: psycho160 am 23 Dezember 2015, 08:36:57
Hallo Leute ich muss das jetzt nochmal aufgreifen. Leider hab ich durch suchen nichts gefunden aber seit dem Update auf die neue Fhem Version (5.7), wurde ja der Syntax für Variablen (früher: @ und %; jetzt: $EVENT, $NAME) geändert.

Seit dem schaffe ich es nicht mehr in die Sendemail Funktion eine Variable zu übergeben.

Alter Code:
    define n_batt_chk notify .*:[Bb]attery.* { if("%" !~ m/ok/) { \
      { DebianMail('Ziel@@Adresse.de', 'FHEM-Meldung', 'BatterieWechsel erforderlich bei @ -> Status: %')};; \   
      } \
    }


wenn ich das "@" und das "%" jetzt duch $NAME und $EVENT ersetze, steht im Email statt dem Device Namen leider nur die Variable mit $NAME...

Was mache ich falsch?

Vielleicht kann mir jemand einen Tipp geben :-)
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Benni am 24 Dezember 2015, 09:54:28
Zitat von: psycho160 am 23 Dezember 2015, 08:36:57
Alter Code:
    define n_batt_chk notify .*:[Bb]attery.* { if("%" !~ m/ok/) { \
      { DebianMail('Ziel@@Adresse.de', 'FHEM-Meldung', 'BatterieWechsel erforderlich bei @ -> Status: %')};; \   
      } \
    }


wenn ich das "@" und das "%" jetzt duch $NAME und $EVENT ersetze, steht im Email statt dem Device Namen leider nur die Variable mit $NAME...
Vielleicht kann mir jemand einen Tipp geben :-)

Die doppelten @ in der Mailadresse können nun durch eine einzelnes @ ersetzt werden.
Der Mailtext mit den Variablen $NAME und $EVENT muss in doppelte Anführunszeichen (") damit eine Ersetzung stattfindet (sollte aber eigentlich auch vorher schon so gewesen sein!):


DebianMail('Ziel@Adresse.de', 'FHEM-Meldung', "BatterieWechsel erforderlich bei $NAME -> Status: $EVENT")
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Frank am 26 Dezember 2015, 12:29:18
Ich komme bei mir einfach nicht weiter. Wenn ich den Aufruf über das Textfenster in der fhem-Weboberfläche eingebe, bekomme ich folgende Fehlermeldung:

sendEmail returned: Dec 26 11:58:04 raspberrypi sendEmail[2594]: ERROR => smtp.1und1.de:465 returned a zero byte response to our query.

Was habe ich falsch konfiguriert?!
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Benni am 26 Dezember 2015, 13:41:26
Zitat von: Frank am 26 Dezember 2015, 12:29:18
Wenn ich den Aufruf über das Textfenster in der fhem-Weboberfläche eingebe, bekomme ich folgende Fehlermeldung:

sendEmail returned: Dec 26 11:58:04 raspberrypi sendEmail[2594]: ERROR => smtp.1und1.de:465 returned a zero byte response to our query.

Ich dachte, das hat bei dir schon mal funktioniert? :o
Zitat von: psycho160 am 23 Dezember 2015, 08:36:57
steht im Email statt dem Device Namen leider nur die Variable mit $NAME...

Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: psycho160 am 26 Dezember 2015, 16:35:58
@Benni:
Danke haut jetzt hin. hatte vorher ein ' statt "

Jetzt werden die Variablen richtig angezeigt!

Danke
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Frank am 26 Dezember 2015, 19:43:33
Bei mir läuft's jetzt auch. Musste Port 587 sein (bei 1und1) und TLS musste auf YES gesetzt werden.
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Benni am 26 Dezember 2015, 20:21:00
Oops! Jetzt hab' ich eure beiden Antworten doch glatt zusammengeworfen.
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: aloz77 am 09 Januar 2016, 18:54:59
Ich habe de E-Mail-Versand inkl. SSL komplett mit Perl-Mitteln gemacht, siehe 99_sendmail.pm in der Anlage.

Es müssen vorher natürlich ein paar Perl-Module installiert werden:

apt-get install libnet-smtp-ssl-perl
cpan install Net::SSLeay
cpan install IO::Socket::SSL
cpan install Authen::SASL
cpan install Net::SMTP::SSL


Also falls jemand braucht...
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Intruder1956 am 01 März 2016, 21:35:25
hallo,
ich habe ein Problem mit sendMail, die Nachricht wird Ordnungsgemäß verschickt.
Bekomme aber eine Perl Warnung im Logfile

2016.03.01 21:06:59 1: sendEmail RCP: meineEmail@provider.com
2016.03.01 21:06:59 1: sendEmail Subject: Balkontuer Offen
2016.03.01 21:06:59 1: sendEmail Text: Balkontuer Offen, EINBRECHER im Haus ??
2016.03.01 21:06:59 1: PERL WARNING: Use of uninitialized value $attach in concatenation (.) or string at ./FHEM/99_myUtils.pm line 29.
2016.03.01 21:06:59 1: sendEmail Anhang:
2016.03.01 21:06:59 1: PERL WARNING: Use of uninitialized value $attach in concatenation (.) or string at ./FHEM/99_myUtils.pm line 31.
2016.03.01 21:07:02 1: sendEmail returned: Mar 01 21:07:02 raspberrypi3 sendEmail[4748]: Email was sent successfully!


in der 99_myUtils.pm steht folgendes, wie auch im Wiki angegeben
Fehlerzeilen ROT markiert

package main;

use strict;
use warnings;
use POSIX;

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

######## DebianMail  Mail auf dem RPi versenden ############
sub
DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $attach = shift;
my $ret = "";
my $sender = "FHEM\@gmail.com";
my $konto = "meineEmail\@provider.com";
my $passwrd = "xxxxxxxxxx";
my $provider = "smtp.gmail.com";
Log 1, "sendEmail RCP: $rcpt";
Log 1, "sendEmail Subject: $subject";
Log 1, "sendEmail Text: $text";
[color=red] Log 1, "sendEmail Anhang: $attach";;
[/color]
[color=red] $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);
[/color] $ret =~ s,[\r\n]*,,g;    # remove CR from return-string
Log 1, "sendEmail returned: $ret";
}


Wo ist der Fehler, ist doch alles wie in der Anleitung im Wiki ausgeführt

Gruß Werner
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Wernieman am 03 März 2016, 08:47:32
Kannst Du mir einen Gefallen tuen, und Zeile 29 und 31 markieren?

Sorry, bin bei einem Privatsupport "zu Faul", es mir auszuzählen ...
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Intruder1956 am 03 März 2016, 09:08:37
moin, hahaha ist noch früh  ;) ;) ;)

Hatte oben geschrieben Zeilen sind rot markiert nur leider hat es nicht richtig geklappt
vor den beiden Zeilen steht [ color=red ]

Gruß Werner
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Otto123 am 03 März 2016, 09:15:24
Moin Werner,

Du hast in der myUtils attach als Übergabe mit drin, aber im Aufruf nicht - richtig? Also Du hast vorgesehen ein Attachment zu senden aber keines angegeben. Du hast zwei Möglichkeiten:

1. Du lässt die Zeile in der myUtils weg. my $attach = shift;
2. Du hängst an Deinen Aufruf noch ein ,'<hier steht nix>' an.
{DebianMail('name@willi.com','Testmail von FHEM','Testmail','');;}

Wobei ich mir nicht sicher bin ob das ohne Anhang wirklich geht. Ich verwende das so nicht, also Variante 1.

Gruß Otto
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Intruder1956 am 03 März 2016, 09:19:45
moin Otto,
ok, ich setze vor dem Log1 attach ein "#"
ich schicke ja nur Text.

werde es gleich probieren, gehe auf dem Balkon rauchen  8) ;)

Danke
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Otto123 am 03 März 2016, 09:24:43
ZitatLog1 attach ein "#"
das wird es nicht bringen, dann bekommst Du den zweiten Fehler immer noch.
Gruß Otto
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Intruder1956 am 03 März 2016, 09:30:45
@Otto
genau  ;D

EDIT: jetzt klappt es, also für mich erledigt

Danke
Gruß Werner
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: maddhin am 24 September 2016, 18:24:26
Zitat von: Schnup am 13 November 2013, 19:16:29
 
Wenn's mit Fhem nicht klappt
Sollte es beim Aufruf der Funktion in Fhem ein Problem geben, empfiehlt es sich zuerst eine E-Mail direkt von der Raspberry Konsole zu senden. Im folgenden Beispiel werden dazu die Zugangsdaten durch die eigenen Angaben ersetzt und als "EINE" Zeile an der Konsole eingegeben:
     sendEmail -f 'Ziel@Adresse.de' -t 'absender@account.de' -u 'Betreffzeile' -m 'Test-Nachricht'
               -s 'E-Mail-Anbieter' -xu 'kontoname@account.de' -xp 'passwort' -o tls=no

 

@Schnub: könntest Du bitte diesen Absatz editieren? Hier sind Absender und Empfänger-Email vertauscht!! -f = from = Absender; -t = to = Empfänger

Danke! :P
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: TobiasR am 20 August 2017, 22:22:01
Hallo,

ich wollte mal nachfragen ob jemand Erfahrung mit Web.DE hat.
Ich habe versucht die EMAIL dort einzurichten:

####### DebianMail  Mail auf dem RPi versenden ############
sub
DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $attach = shift;
my $ret = "";
my $sender = " mein.name\@web.de";
my $konto = " mein.name";
my $passwrd = "mein\passwort";
my $provider = "smtp.web.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=auto -o message-charset=utf-8);
$ret =~ s,[\r\n]*,,g;    # remove CR from return-string
Log 1, "sendEmail returned: $ret";
}


Dann habe ich über die Zeile
{DebianMail('mein.name@andereadresse.de','Alarm2','AlarmGetriggert')}
versucht eine Nachrit zu senden.

In meinem Web.de Account bekoam ich eine Sicherheitswarnung.
Hat nur einmal funktioniert und ich denke dass web.de jetzt meinen Account gesperrt hat?"
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: Otto123 am 20 August 2017, 23:00:21
Deinen Web.de Account kannst  Du ja testen.

Ich kenne den aktuell Stand nicht, aber ich erinnere mich, dass ich irgendwann davon abgekommen bin Konten bei Web oder gmx oder anderen Freemail Providern für solche Mails zu nutzen. Die ändern ständig etwas, die werden soviel missbraucht, es ist kein Wunder, dass die nicht über solche Zugänge begeistert sind.
Aber bei mir geht es nach wie vor, ich weiß nicht ob ich bei web.de mal irgendwas "konfigurieren" musste.

probier mal die Kommandozeile direkt im TerminalsendEmail -f 'absender@web.de' -t 'empfänger@...' -u 'Hallo Welt' -m 'Das ist ein Test' -s 'smtp.web.de' -xu 'absender@web.de' -xp 'password' -o tls=auto

Gruß Otto
Titel: Antw:Ergänzung zum Thema E-Mail auf dem Raspbery Pi senden
Beitrag von: TobiasR am 21 August 2017, 08:48:29
Hi,

es liegt vermutlich wirklich an Web.de.
Ich habe jetzt einen anderen Account benutzt und da klappts ohne Probleme!

Beste Grüße
Tobias