Bräuchte Hilfe bei Benachrichtigung per Email mit Anhang

Hallo Zusammen,
Ich erstelle mit der „FILE“-Integration ein CSV-File, in welches ich jeden Tag verschiedene Sensorwerte schreibe. Die funktioniert prima.
Nun wollte ich eine Automatisierung erstellen, die mir dieses File per Email zuschickt. Ich kann aber keine Anhänge verschicken.
Geht das gar nicht, oder was muss ich beachten?
Ich habe den Pfad zur Datei im „Data“-Feld eingetragen:
data:
message: Nachricht mit Anhang
title: Titel
data:
attachments: /local/datei.csv

Danke schonmal,
Peter

Mit welcher Integration sendest du die E-Mail? SMTP Integration? Ich habe es leider auch noch nicht geschafft, ich wäre aber ebenfalls an einer Lösung interessiert!

Ja genau, die SMTP Integration. Ich nutze diese schon länger für „normale“ Benachrichtigungen. Die läuft prima. Aber ich schaffe es nicht Datei-Anhänge zu verschicken…

Soweit ich mich erinnere ist es besonders wichtig, dass der Pfad korrekt angegeben ist (z.B. /config/deinPfad/datei.csv). Die Anhänge werden meiner Meinung nach nicht mit attachments:, sondern images: definiert. (Auch wenn es keine Bilder sind). Vielleicht kommst du ja auch dieser Basis weiter…

1 „Gefällt mir“

Ja, das ist ein guter Tipp. Mit „Images“ habe ich auch in diesem HA-Community thread gelesen: Attaching images to email notifications - #3 by metbril - Configuration - Home Assistant Community
Vielleicht hilft der weiter,. Ich habe gerade leider keine Möglichkeiten, es auszuprobieren…

Ich werde das auch mal probieren. Habe aber gerade etwas Trouble mit meinem eAuto bzw. der Skoda Connect Integration. Das muss ich auf die neue MySkoda Integration umbauen, da Skoda die alte Connect abgeschaltet hat (war angekündigt und wurde von mir ignoriert :frowning:

Hallo Zusammen,
habe es nun mit „images:“ versucht:
action: notify.email_benachrichtigung_an_peteratpeterbarth_net
metadata: {}
data:
message: Nachricht mit Anhang
title: Titel
data:
images: ‚file:/local/Bilder/bild.png‘

Bekomme aber immer die Fehlermeldung:
„remote_path_not_allowed“

Habe mein Problem jetzt erst mal mit Hilfe von Node-RED gelöst:

Hast du es mal in diesem Format probiert?
- 'file:///192.168.0.104/snap.jpeg'

Nein, weil ich nicht wirklich weiss, wie ich den lokalen Pfad auf meinem HA zugreifen kann?
Das File, welches ich verschicken möchte, liegt bei mir im HA WWW Ordner…

Was in /www/<datei> liegt, kann per /local/<datei> angesprochen werden

1 „Gefällt mir“

Hallo, danke erstmal für eure Tipps. Ich habe jetzt mal mit einem Bild getestet aber alles ohne Erfolg:

images:
  - file:///192.168.178.IP_des_HA/www/Bilder/Enyaq.png‘

Es kommt jetzt zwar keine Fehlermeldung mehr und das Email wird verschickt und kommt an, aber ohne Anhang.

Schade :frowning: Ich habe in der HA-Dokumentation von der SMTP-Integration nachgelesen:

Dort habe ich 2 Sachen entdeckt:

The optional images field adds image attachments to the email. If html is defined, the images need to be added to the message in-line as described above (and as shown in the example below). If html is not defined, images will be added as separate attachments.

Ich nehme an, du nutzt kein HTML?

Und das hier:

Important
When adding images, make sure the folders containing the attachments are added to allowlist_external_dirs.
See: Setup basic documentation

→ Du müsstest den folder ggf noch als external directory in der configuration.yaml whitelisten…

Ansonsten probiere mal: /local/Bilder/Enyaq.png als Pfad (Danke @Nicknol :slight_smile: )

Falls du Fragen hast, melde dich gerne nochmal. Ansonsten bin ich gespannt ob es vielleicht doch noch klappt :wink:

Nachtrag: Schaue sonst gerne auch nochmal in den Core Protokollen, ob dort ein Fehler nach dem Senden erscheint.

Hallo,
also ich habe jetzt auch die configuration.yaml um die Option

allowlist_external_dirs

erweitert. Habe dazu auch extra ein vorhandenes Verzeichnis genutzt und ein darin enthaltenes File adressiert. Ohne Erfolg.
habe auch

 /local/Bilder/Enyaq.png

probiert. Ebenfalls ohne Erfolg.

Ich gebe jetzt auf. Ich habs ja über Node-RED am Laufen. Das gibt mir die Gelegenheit mich mit Node-RED etwas auseinanderzusetzen und etwas dazuzulernen…

Ich danke euch trotzdem sehr.
Peter

Sehr schade! Kannst du teilen, wie du das mit Node red umgesetzt hast?

Klar, kann ich. Allerdings, wie oben erwähnt, bin ich ganz und gar nicht fit in Node-RED. Habe das alles aus ein paar verschiedenen Videos zusammengebaut.
Hier jetzt mal die Übersicht des Flows:

Und hier der Quelltext zum Importieren für dich:

[{"id":"b716a9fd072d1ecd","type":"e-mail","z":"726ecf1eab4d7251","server":"smtp.server.net","port":"465","authtype":"BASIC","saslformat":false,"token":"oauth2Response.access_token","secure":true,"tls":true,"name":"empfänger@server.domain","dname":"Send email","x":750,"y":540,"wires":[]},{"id":"98fdeb915da16e95","type":"file in","z":"726ecf1eab4d7251","name":"get file","filename":"/homeassistant/www/tageslicht.csv","filenameType":"str","format":"","chunk":false,"sendError":false,"encoding":"none","allProps":false,"x":330,"y":540,"wires":[["5509d055bfa2562a"]]},{"id":"5509d055bfa2562a","type":"function","z":"726ecf1eab4d7251","name":"write email","func":"const file = msg.filename;    // Erstelle lokale Datei-Variable\nvar d = new Date();     // Erstelle aus dem aktuellen Datum einen Zeitstring\nvar tstring = d.toString().substring(15,21);\n\nmsg.attachments =\n     { filename : file.substring(file.lastIndexOf('/')+1,file.length),\n        content : msg.payload };    // Der Inhalt sollte vom Typ \"file binary buffer\" sein\n        \nmsg.topic = \"Die täglichen Tageslichtwerte von \" + tstring; // email subject\n\nmsg.payload = \"Alle Details im angehängten CSV Sheet: `\" + msg.attachments.filename + \"`\"; // email body\n\nreturn msg;","outputs":1,"timeout":"","noerr":0,"initialize":"","finalize":"","libs":[],"x":490,"y":540,"wires":[["57ba9c79ad0399c5","b716a9fd072d1ecd"]]},{"id":"2271596820a2a6a7","type":"inject","z":"726ecf1eab4d7251","name":"13:00 Uhr Mittags","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"00 13 * * *","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":150,"y":540,"wires":[["98fdeb915da16e95"]]},{"id":"57ba9c79ad0399c5","type":"debug","z":"726ecf1eab4d7251","name":"Fehlerprüfung","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":760,"y":440,"wires":[]},{"id":"59dde661342e72a9","type":"comment","z":"726ecf1eab4d7251","name":"Versenden einer Email mit Datei-Anhang - Tageslichtwerte","info":"Mit diesem Flow wird einmal täglich (um 13:00 Uhr) das CSV-File \"**tageslicht.csv**\" versandt.","x":250,"y":440,"wires":[]}]

Du musst dann eben noch die SMPT-Mail-Konfiguration und den Pfad sowie die Datei an deine anpassen. Ich habe im Quelltext dummy Email-Daten…

1 „Gefällt mir“

Vielen Dank!!