FHEM Forum

FHEM - Hausautomations-Systeme => Unterstützende Dienste => Thema gestartet von: RpiEinOzean am 27 August 2016, 22:04:49

Titel: DebianMail mehrere Anhaenge gleichzeitig versenden
Beitrag von: RpiEinOzean am 27 August 2016, 22:04:49
Hallo zusammen,

ich habe folgendes Problem:

Ich möchte mehrere Bilder als Anhang an eine Mail versenden.
In ganz einfach funktioniert es ja schon.
Zum Beispiel:
define Sonstiges at *12:00:00 { DebianMail('e-mailAdresse@gmx.de','BetreffText','Text','/opt/fhem/www/snapshots/cam1/IPCam_snapshot.jpg');;}

Was ich noch nicht herausgefunden habe:
Ich möchte nicht nur IPCam_snapshot,jpg sonder auch IPCam_snapshot01.jpg und IPCam_snapshot02.jpg an diese Mail anhaengen.

Jemand einen Tipp fuer mich?

Gruß an alle. :D
Titel: Antw:DebianMail mehrere Anhaenge gleichzeitig versenden
Beitrag von: DeeSPe am 28 August 2016, 02:43:29
Vielleicht ein  Array oder eine Liste übergeben?
Ist jetzt wirklich nur geraten!!!

Gruß
Dan
Titel: Antw:DebianMail mehrere Anhaenge gleichzeitig versenden
Beitrag von: Hollo am 29 August 2016, 09:28:13
Zitat von: RpiEinOzean am 27 August 2016, 22:04:49
...Jemand einen Tipp fuer mich?
Pack die Bilder auf Deinem System zusammen (tar.gz oder zip oder ?) und häng dann das Paket an.  ;)
Titel: Antw:DebianMail mehrere Anhaenge gleichzeitig versenden
Beitrag von: Wernieman am 29 August 2016, 10:16:11
Dann kann man die Bilder aber nicht sofort im EMail-Proggi sehen ...

DebianMail vewendet intern eigentlich sendEmail, welches mit "-a" einen oder mehrere Anhänge mitsenden kann.
Bis jetzt implementiert: "-a FILE", Du müsstest laut Doku also für Dich implementieren. "-a File1 File2 File3".

Alle Angaben ungetestet aus der Doku genommen.
Titel: Antw:DebianMail mehrere Anhaenge gleichzeitig versenden
Beitrag von: JoWiemann am 29 August 2016, 10:51:37
Hallo,

das Problem liegt zunächst in der DebianEmail im Wiki:

Die Zeile:


$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);


muss in:

$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);


abgeändert werden. (Die '' beim $attach führen dazu, dass mehrere Dateien in einem String zusammengefasst werden und als ein Pfad/Datei interpretiert werden.)

Danach funktioniert dann auch folgender Aufruf:


{DebianMail('email@provider.de',"Anhaenge","Anhaenge","/opt/fhem/FrameRPi.jpg /opt/fhem/FrameRPi.png")}


Grüße Jörg
Titel: Antw:DebianMail mehrere Anhaenge gleichzeitig versenden
Beitrag von: Wernieman am 29 August 2016, 11:09:02
Wichtig:
Danach darf aber KEIN Leerzeichen im Dateinamen/Dateipfad enthalten sein!
Titel: Antw:DebianMail mehrere Anhaenge gleichzeitig versenden
Beitrag von: JoWiemann am 29 August 2016, 11:17:01
Mist! Nicht drüber nachgedacht. Also doch etwas mehr Aufwand es umzusetzen :-(

Grüße Jörg
Titel: Antw:DebianMail mehrere Anhaenge gleichzeitig versenden
Beitrag von: JoWiemann am 29 August 2016, 11:22:44
Geht doch. Mit folgendem Aufruf:


{DebianMail('email@provider.de',"Anhaenge","Anhaenge","'/opt/fhem/Frame RPi.jpg' '/opt/fhem/Frame RPi.png'")}


Wichtig ist es den Parameter mit " " zu übergeben und die Anhänge mit ' ' zu klammern.

Grüße Jörg
Titel: Antw:DebianMail mehrere Anhaenge gleichzeitig versenden
Beitrag von: Wernieman am 29 August 2016, 11:24:14
Oder alternativ auf einem Unix-System im Dateinamen keine Leerzeichen (oder Sonderzeichen) verwenden.

Ist für die automatische Verarbeitung (meistens) optimaler, unabhängig von FHEM
Titel: Gelöst:DebianMail mehrere Anhaenge gleichzeitig versenden
Beitrag von: RpiEinOzean am 31 August 2016, 16:14:37
Vielen Dank,

hat sehr gut funktioniert.

In der 99_myUtils.pm Aenderung:
$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);

und:

*12:00:00 { DebianMail('mail-adresse@gmx.de','Bilder','4Kamerabilder',"  '/opt/fhem/www/snapshots/cam1/IPCam_snapshot.jpg' '/opt/fhem/www/snapshots/cam1/IPCam_snapshot_1.jpg' '/opt/fhem/www/snapshots/cam1/IPCam_snapshot_2.jpg' '/opt/fhem/www/snapshots/cam1/IPCam_snapshot_3.jpg' ") }

schickt mir jetzt als Mailanhang 4 Bilder.

Vielen, vielen Dank.  :D
Titel: Antw:DebianMail mehrere Anhaenge gleichzeitig versenden
Beitrag von: Thoffi1978 am 01 Juli 2018, 11:27:20
Hallo,

ich habe mich so gut eingearbeitet. Doch leider bekomme ich keine Anhänge geschickt.
Der Pfad müßte stimmen, den Befehl habe ich von hier übernommen.
ich bekomme eine Email aber ohne Anhang zu geschickt.

Hier meine Befehl:
{ DebianMail('mail@mail.de', 'Bilder', 'Bilder'," '/opt/fhem/FHEM/Bilder/IPCam_WohnZi_snapshot.jpg ' '/opt/fhem/FHEM/Bilder/IPCam_WohnZi_snapshot1.jpg' ") }
my99utils:
$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)
List IPCam:
Internals:
   AUTHORITY  192.168.2.211:8080
   DEF        192.168.2.211:8080
   NAME       IPCam_WohnZi
   NR         371
   SEQ        0
   STATE      Defined
   TYPE       IPCAM
   .attreour:
     snapshots
   READINGS:
     2018-06-27 10:32:23   last            IPCam_WohnZi_snapshot.jpg
     2018-06-27 10:32:14   snapshot1       IPCam_WohnZi_snapshot_1.jpg
     2018-06-27 10:32:17   snapshot2       IPCam_WohnZi_snapshot_2.jpg
     2018-06-27 10:32:20   snapshot3       IPCam_WohnZi_snapshot_3.jpg
     2018-06-27 10:32:23   snapshot4       IPCam_WohnZi_snapshot_4.jpg
     2018-06-27 10:32:23   snapshots       4
Attributes:
   delay      3
   event-on-update-reading snapshots
   path       shot.jpg
   room       Wohnzimmer
   snapshots  4
   storage    /opt/fhem/FHEM/Bilder


Gruß
Hoffi
Titel: Antw:DebianMail mehrere Anhaenge gleichzeitig versenden
Beitrag von: Otto123 am 01 Juli 2018, 12:19:04
Hi,
Dein Aufruf funktioniert genau so - getestet bei mir gerade eben.

Zeig mal bitte deine komplette sub in der 99_myUtils.pm

Oder überprüfe die Sub mit hier  (https://wiki.fhem.de/wiki/E-Mail_senden#Raspberry_Pi)und überprüfe die PfadeNamen und Berechtigungen (für fhem lesen) auf den Bildern.

Edit: IPCam_WohnZi_snapshot_1.jpg vs IPCam_WohnZi_snapshot1.jpg  ;D ::)

Gruß Otto
Titel: Antw:DebianMail mehrere Anhaenge gleichzeitig versenden
Beitrag von: Thoffi1978 am 01 Juli 2018, 13:40:48
Hallo Otto,

vielen Dank.
Ich habe die SUB einmal überprüft.
Da hatte ich bei
my $attach = shift; noch "" stehen.

Wenn ich den Befehl
{ DebianMail('mail@mail.de', 'Bilder', 'Bilder'," '/opt/fhem/FHEM/Bilder/IPCam_WohnZi_snapshot.jpg ' '/opt/fhem/FHEM/Bilder/IPCam_WohnZi_snapshot_1.jpg' ") }
aufrufe
bekomme ich hjezt aber die Fehlermeldung:
2018.07.01 13:22:41 1: sendEmail RCP: mail@mail.de
2018.07.01 13:22:41 1: sendEmail Subject: Bilder
2018.07.01 13:22:41 1: sendEmail Text: Bilder
2018.07.01 13:22:41 1: sendEmail Anhang:  '/opt/fhem/FHEM/Bilder/IPCam_WohnZi_snapshot.jpg ' '/opt/fhem/FHEM/Bilder/IPCam_WohnZi_snapshot_1.jpg'
2018.07.01 13:22:42 1: sendEmail returned: Jul 01 13:22:42 raspberrypi sendEmail[13052]: ERROR => The attachment [/opt/fhem/FHEM/Bilder/IPCam_WohnZi_snapshot.jpg ] doesn't exist!

auf die Unterstriche habe ich jetzt geachtet ;-)
Die Bilder werden durch einen Aufruf in fhem gespeichert, daher sollte die Schreibberechtigung anderes herum doch auch da sein?
Berechtigung ist auf 777 gesetzt
Eigentümer FHEM Gruppe DIALOUT

Hoffi
Titel: Antw:DebianMail mehrere Anhaenge gleichzeitig versenden
Beitrag von: Otto123 am 01 Juli 2018, 14:22:18
Ja da ist er sensibel  ;D Leerzeichen zuviel.
'/opt/fhem/FHEM/Bilder/IPCam_WohnZi_snapshot.jpg ' vs '/opt/fhem/FHEM/Bilder/IPCam_WohnZi_snapshot.jpg'
Titel: Antw:DebianMail mehrere Anhaenge gleichzeitig versenden
Beitrag von: Thoffi1978 am 01 Juli 2018, 20:37:46
DANKE

kaum zu sehen und so eine große Wirkung.

Es klappt.

Danke