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
Vielleicht ein Array oder eine Liste übergeben?
Ist jetzt wirklich nur geraten!!!
Gruß
Dan
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. ;)
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.
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
Wichtig:
Danach darf aber KEIN Leerzeichen im Dateinamen/Dateipfad enthalten sein!
Mist! Nicht drüber nachgedacht. Also doch etwas mehr Aufwand es umzusetzen :-(
Grüße Jörg
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
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
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
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
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
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
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'
DANKE
kaum zu sehen und so eine große Wirkung.
Es klappt.
Danke