0

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.

https://youtu.be/UmUeXKvJLpI

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

null
    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    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.
     

    • Ryszard_Paluch
    • vor 2 Jahren
    • Gemeldet - anzeigen

    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

    • Lars
    • vor 2 Jahren
    • Gemeldet - anzeigen

    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).

    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    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 weiterErfolgreicher Integromat-Flow 2021-06-24 um 15.54.54

    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hier ei Screenshot vom Output des HTTP-Node

    Output HTTP-Node 2021-06-24 um 15.53.30

    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    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.

    • Lars
    • vor 2 Jahren
    • Gemeldet - anzeigen

    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?).Unbenannt3

    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo Lars
    Wie sieht denn der Screenshot deines HTTP Output aus?

    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Und die Einstellung im HTTP-Node sie wie folgt aus?Bildschirmfoto 2021-06-24 um 17.10.44

    • Lars
    • vor 2 Jahren
    • Gemeldet - anzeigen

    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 :)

    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    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.
    Bildschirmfoto 2021-06-24 um 19.37.41 

    • Lars
    • vor 2 Jahren
    • Gemeldet - anzeigen

    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.                                 UnbenanntUnbenannt2

    • Lars
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Ich werde morgen mal eine neue DB bauen und alles von 0 an testen. Irgendwas stimmt gewaltig nicht :) danke nochmal.

    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    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?

    • Lars
    • vor 2 Jahren
    • Gemeldet - anzeigen

    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.

    • Ryszard_Paluch
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo UweG

    Mein Script benutzte nicht die Ninox eigene sendEmail() Funktion. Ich versende die Mail von Integromat aus mit meinem Email Acount

    Gruß Richard

    • Ryszard_Paluch
    • vor 2 Jahren
    • Gemeldet - anzeigen

    So seht das aus

    Bildschirmfoto 2021-06-27 um 15.55.29

    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    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.

      • Icarus_Ralf_Becker
      • vor 1 Jahr
      • Gemeldet - anzeigen

      UweG Hallo Uwe, ich greife dieses Thema nochmal auf, denn auch ich würde gerne Mails über Integromat und dem Email-Modul versenden, anstatt mit sendmail() (insbesondere, weil @t-online.de Adressen immernoch keinerlei Mails über sendmail() empfangen können). Ich würde das auch lieber mit einem Mailhook anstatt mit einem Webhook wegen der Übermittlung der Anlagen lösen. Da stoße ich allerdings auf ein kleines Problem und bitte um Rat. Als to-Adressat wird ja die Mailhook-Adresse verwendet. Wie sage ich aber nun am Besten Integromat, an welche Adresse diese Mail eigentlich im Mail-Modul zu adressieren ist?
       

      Mit Dank vorab...

      Ralf

      • UweG
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Icarus - Ralf Becker Wenn du den MailHook nutzt, musst du die MailDaten zusätzlich  über ein Ninox-Node aus Ninox holen. Dazu wird die Record-ID mitgesendet.
      Anbei ein Screenshot des Flows:

    • Icarus_Ralf_Becker
    • vor 1 Jahr
    • Gemeldet - anzeigen

    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?

      • UweG
      • vor 1 Jahr
      • Gemeldet - anzeigen

      Icarus - Ralf Becker Da du mit dem Ninox-Node den gesamten Inhalt des Records holst, kannst du in Sendmail bspw. im Betreff die Record-ID mitgeben, da bis auf die mitgesendeten Attachments der Rest uninteressant ist. Schaum mal im Webinarteam auf die DB 'email mit Integromat senden' (Grüne Palme am Ende der Liste), dort ist im Button das entsprechende Script hinterlegt.

Content aside

  • vor 1 JahrZuletzt aktiv
  • 72Antworten
  • 6762Ansichten
  • 2 Folge bereits