Integromat - E-Mails aus Datenbank senden, mit Anhängen
Hallo Forum,
ich habe es mit Hilfe dieses youtube Tutorials geschafft das Szenario einzurichten und es funktioniert auch tadellos.
Im Tutorial wird aber nicht bechrieben wir man die Anhänge der Records mit versendet.
Ich habe mir dann selbst was zusammengebastelt mit den Modulen "List files from Record" und "Download file from Record".
Das funktoniert auch super, aber nur wenn der Record EINEN Anhang hat.
Gibt es aber bspw. 2 Anhänge, dann werden leider auch 2 E-Mails gesendet. Ich möchte natürlich erreichen, dass die beiden Anhänge in einer mail gesendet werden.
Ich vermute, dass es mit der Option "Attachements" im Modul EMail zusammenhängt. Dort muss evtl. über "Map" ein Array hinein??
Leider bekomme ich hier nicht weiter. :-(
Ich habe das Szenario zum anschauen exportiert:
https://drive.google.com/file/d/1SGYYGE8uow3r4_hZ-aVjB9U1_Zx2FoYs/view?usp=sharing
Falls jemand den Kniff kennt, würde ich mich freuen
Danke und Gruß
Oliver M.
72 Antworten
-
Hallo Lars
Die Zeile attachments: vAttachments verstehe ich nicht.
Die Anhänge werden nicht über den Webhook übertragen. (Das kann Ninox nicht!!!)
Der http-Request in Integromat zieht sich die Namen der im Anhang gespeicherten Files des Records.
Man benötigt den Iterator und Aggregator in Integromat wenn man mehr als einen Anhang mitsenden möchte für jeden Anhang nicht eine eigene eMail erzeugt.
Der Iterator nimmt sich die vomm HTTP-Node geholten Attachments-Namen und splittet sie für den nachfolgenden Ninox-Node auf.
Dieser holt sich dann die Anhänge einzeln von Ninox.
Der Aggregator führt diese wieder zu einem Strom zusammen, damit diese in einer Mail versandt werden können.
Ich gehe davon aus, das du die Variable im Itterator verändert hast und es deshalb nicht funktioniert.
Lade nochmal die 'Mail with Integromat'-Datenbank in dein Team und kopiere in Integromat den Blueprint.
Trage in der Datenbank die erzeugte Webhook-Adresse ein und wie beschrieben deinen API-Key als Variable.
Im Integromat Flow die API-Key Variable in den HTTP-Node und im Ninox-Node die Daten für den Datenbankzugriff und deine MailServer-Daten für den Versand.
Nutze die Datenbank um zu verstehen, wie der Mailversand über Integromat funktioniert und du sie für andere Projekte anpassen kannst.
-
Hallo
Ich habe es so gelöst:
let MailhookIntegromat := "............hook.integromat.com";
let MailFrom := userEmail();
let vAttachments := files(this);
let vRecordID := number(Nr);
sendEmail({
from: MailFrom,
subject: Subject,
to: MailhookIntegromat,
text: text(vRecordID),
attachments: vAttachments
})So viel auf der Ninox seite
Der Rest erledigt Integromat
Gruß Richard
-
Hallo Uwe, hallo Ryszard,
@ Ryszard - über den Custom Mailhook läuft das bei mir auch. Ich würde gerne verstehen, warum die andere Möglichkeit nicht rennt.
Uwe, ich glaube, dass HTTP Modul holt sich keine Anhänge (im Modul inspector sehe ich keinen Hinweis auf übermittelte Dateien). Aufgrund dessen der Versuch mit vAttachments (analog zu der Mailhook-Version in der DB). Das Ninox Modul wirft den Fehler raus, dass der Wert im erforderlichen Feld "File" fehlt. "File" bezieht sich im Blueprint auf den Iterator-Parameter "name" - dieser ist aber nicht vorhanden und steht auch nicht zur Auswahl (im Ninox-Modul ist das "name" im Feld "File" nicht grün ausgefüllt sondern das Feld ist nur grün umrandet).
-
Hallo Lars.
Das HTTP-Modul holt sich nur die Namen der angehängten Dateien im Record.
Die tatsächlichen Dateien werden erst mit dem Ninox-Node geholt.
Ninox ist nicht in der Lage Dateien als JSON-Objekt zu versenden.
Das von Richard benutzte Script nutzt die Ninox eigene sendEmail() Funktion.
Damit kann als AbsenderMailadresse nur die in Ninox hinterlegte Mailadresse als Absender genutzt werden.
Ein weiterer Nachteil kann darin liegen, dass auf Empfängerseite die mit sendEmail() versandten Mails in den Spam-Ordner landen.
Wie gesagt, der in der Datenbank hinterlegte Integromat-Blueprint funktioniert mit der Datenbank aus dem Webinarteam DE 2021.
Der Vorteil liegt bei der Nutzung mit Integromat darin, dass man seinen eigenen Mailprovider benutzen kann und in damit auch mehrere unterschiedliche Mailadressen als Absender.
Bspw. Info@Firma.De, MitarbeiterName@Firma.de etc.
Ich habe den Integromat-Flow gerade nochmal getestet.
Der funktioniert mit der Ninox DB 'eMail to Integromat' einwandfrei.
Im HTTP-Node erhalte ich als Output ein Data, in dem der Name des im Record angehängten Files aufgeführt wird. Damit arbeitet Integromat weiter
-
Hier ei Screenshot vom Output des HTTP-Node
-
Hallo Lars.
Anbei meine Mailadresse (nodered.uweg@gmx.de). Wenn du mir eine Mail sendest, schicke ich dir Screenshots der einzelnen Integromat Nodes und wir können Schritt für Schritt durchgehen wo der Fehler liegt. -
Hallo Uwe,
ich verstehe den Unterschied in den zwei Varianten und ich verstehe, wie alles läuft, wenn es läuft.
Aber mein Problem ist tatsächlich, dass im HTTP-Node keinerlei Output Data zu finden ist. Sondern nur dieser "Zahlencode". Eigentlich sollten unter Data ja alle Anhänge durchnummeriert mit den jeweiligen Eigenschaften (name. contentType,...) aufgelistet sein - sieht man ja in deinem Screenshot - und der Ninox-Node holt sich über den Iterator die Dateinamen und lädt diese. In dem Datensatz den ich versenden will sind aber 3 .jpg - diese tauchen, wie gesagt, nirgends im Integromat auf.
Neuer Status: während des Schreibens habe ich weiter herrumgespielt. Jetzt klappt es mit der Anzeige der Dateien im HTTP-Nodes. Aber der Ninox-Node wirft einen neuen Fehler aus: [404] Collection. Wurde in diesem Thread auch schon behandelt (aggregator falsch eingestellt?).
-
Hallo Lars
Wie sieht denn der Screenshot deines HTTP Output aus? -
Und die Einstellung im HTTP-Node sie wie folgt aus?
-
Hallo Uwe, wie eben geschrieben läuft der HTTP-Node jetzt durch. Das lag vermutlich an einem Rechtschreibfehler im Ninox-Code. Jetzt sieht der HTTP-Node aus wie gewollt. Alle Dateien werden korrekt angezeigt. Aktuell häng ich am [400]er Fehler im Ninox-Modul.
Sry für die Umstände :)
-
Im Ninox Modul ist unter Connection ist manuell eine Verbindung zu Ninox einzurichten.
Dazu muss der API-Key eingegeben werden.
Bei den anderen Einstellungen must du dich durchhangeln und die entsprechenden Werte auswählen. (siehe Screenshot)
Abschließend muss noch der Send an Email-Node mit deinen MailProvider-Daten gefüllt werden.
P.S. Gegen Schreibfehler vom User kann ich leider nichts machen.
-
Die Connection zu Ninox, und Email steht und funktioniert (unter anderem auch als Email Versand mit Anhang via Mailhook). Mich stört, dass der Wert "name" in Richtung Iterator im Feld "File" nicht durchgängig grün ist (siehe deinen Screenshot) sondern invertiert ist (grüne Schrift, grüner Rand) und das ist gar keine Möglichkeit habe, diesen Wert "name" per Mausklick zu mappen. Der HTTP-Node schmeisst alle Daten korrekt raus. In der aktuellen Fehlermeldung sieht man auch einen Input im Ninox-Node.
-
Ich werde morgen mal eine neue DB bauen und alles von 0 an testen. Irgendwas stimmt gewaltig nicht :) danke nochmal.
-
Sorry Lars, aber da kann ich dir nicht weiter helfen.
Ich habe die Datenbank nochmals aus dem Webinarteam geladen und alles wie beschrieben eingerichtet.
Der Integromat Flow läuft, nachdem ich ihn konfiguriert habe einwandfrei durch und versendet die Mail samt Anhang.
Du hast wahrscheinlich irgendwo etwas falsch eingerichtet.
Versuche den Flow nochmal neu zu importieren und nur die Daten im HTTP-Node, Ninox-Node und Send an Email-Node einzurichten.
Hast du mal den Mailversand mit der original Datenbank probiert, bevor du alles auf deine DB angepasst hast? -
Alles gut Uwe, Du hast mir trotzdem sehr geholfen :)
"Hast du mal den Mailversand mit der original Datenbank probiert, bevor du alles auf deine DB angepasst hast?" - Nein, das war mein Fehler. Werde ich am Wochenende angehen.
-
Hallo UweG
Mein Script benutzte nicht die Ninox eigene sendEmail() Funktion. Ich versende die Mail von Integromat aus mit meinem Email Acount
Gruß Richard
-
So seht das aus
-
Hallo Richard
Du nutzt du den Mailhook von Integromat?
Das habe ich auch als Beispiel in der Datenbank 'eMail mit Integromat senden' aufgeführt.
Dann ist aber der Array-aggregator für das Mail versenden überflüssig, da mit der sendEmail()-Funktion gleich alle Attachments mit übertragen werden.
sendEmail({
from: MailFrom,
subject: text(this),
to: MailhookIntegromat,
text: text(this),
attachments: vAttachments
})
Aah, ich sehe du willst die Anlagen einzeln woanders ablegen. Dann kann ich den Aggregator nachvollziehen.
Wenn es für dich so passt, Super. -
Hallo Uwe, danke erstmal dafür. Aus dem Screenshot ist nur nicht ganz klar, auf welchem Weg die Record ID für den Ninox ID übergeben wird. Im Textkörper der Mail an den Mailhook zusammen mit den Anlagen?
Content aside
- vor 2 JahrenZuletzt aktiv
- 72Antworten
- 6917Ansichten
-
2
Folge bereits