0

mail mit Make senden / dringend

Grüßt euch,

ich bräuchte schnell eine lösung um das senden der Mails über Make zu verwirklichen. (Ausgelöst durch einen Button) Sendgrid geht immer weniger durch.

Es müßten bis zu 11 Datein mit versendet werden welche im gleichen datensatz liegen. Hab mal den bisherigen aufruf mit rein gesetzt.

Hab die DB aus dem Forum genommen und versucht das umzusetzen. Muß aber schon ein fehler ignorieren damit die Mail über unseren smtp durchgeht. (FILE will er wohl irgendwie nicht wissen.)

Auch benötige ich ja die ganzen Datein in der Mail.

Vieleicht könnt Ihr mir helfen

Grüße Michi

17 Antworten

null
    • Geschäftsführerin bei Kennes Digital
    • Stefanie_K
    • vor 11 Monaten
    • Gemeldet - anzeigen

    Hallo Michi ,

    wie sieht denn dein Make-Szenario aus? Hast du ein Modul "Download File From Record" eingebaut? Um mehrere Dateien zuzufügen, wäre dies eine Lösung:

    1. Mit "List Files From Record" alle Anhänge auflisten lassen.
    2. Mit einem Iterator und dem Wert "Filename" diese Auflistung aufteilen.
    3. Dann mit "Download File From Record" die einzelnen Dateien holen.
    4. Mit einem Aggregator alles wieder zusammenfügen, damit nur eine Mail rausgeht und nicht eine Mail je gefundenem Anhang.
    5. Danach das Mailmodul einfügen und sich bei Attachments auf den Aggregator beziehen.

     

     

    Eine weitere Alternative wäre die Verwendung von Base 64. Siehe hierzu https://docs.ninox.com/de/skripten/funktionen-ueberblick/funktionen/loadfileasbase64 und https://community.make.com/t/how-to-convert-base64-string-to-binary-file-and-store-on-sftp/5822/10

      • Michi.1
      • vor 11 Monaten
      • Gemeldet - anzeigen

       bin das erste mal mit make konfrontiert, aber es muss halt schnell gehen das zu verwirklichen, da seit ca. Einem Monat das senden an verschiedene Partner via sendgrid nicht mehr oder immer weniger klappt. (Spam) hast du nen bluprint zum einspielen? 

      • Geschäftsführerin bei Kennes Digital
      • Stefanie_K
      • vor 11 Monaten
      • Gemeldet - anzeigen

       

      Hier der Blueprint:
      blueprint (9).json

      Bitte beachten: Mit dieser Variante werden alle Anhänge eines Datensatzes mitgesendet. In deiner Ninox-Datenbank hast du bisher keine Auswahl eingefügt, welche Dateien mitgesendet werden sollen. Das könnte man bei Bedarf noch ergänzen.

      • Michi.1
      • vor 11 Monaten
      • Gemeldet - anzeigen

      sobald ich Zeit habe probiere ich das mal. Ich habe keine Datein im Anhang. Die Datein (Bilder und PDF) liegen in 11 Bildfeldern. Alle im selben Reckord von dem der Aufruf via Button erfolgt.

      • Geschäftsführerin bei Kennes Digital
      • Stefanie_K
      • vor 11 Monaten
      • Gemeldet - anzeigen

      Es funktioniert trotzdem. Sobald du Dateien in ein Bildfeld schiebst, werden sie (unsichtbar, d.h. sie werden nicht hinter der Büroklammer angezeigt) als Dateianhang im Datensatz gespeichert.

      • Michi.1
      • vor 11 Monaten
      • Gemeldet - anzeigen

      wenn keine Datein vorhanden sind geht es durch. Mail kommt an.

      Wenn Datein enthalten sind kommt es zum fehler. Was hab ich denn falsch gemacht?

      Aufruf:

      let vWebhook := "https://*****";
      let vRecordID := text(number(this));
      let share := linkBild;
      let data := {
              TeamID: teamId(),
              DatabaseID: databaseId(),
              TableID: tableId("Mail_Out_Webhook"),
              RecordID: vRecordID,
              vMailAn: 'E-Mail_An',
              vBetreff: Betreff,
              vTextPlain: Text_Plain,
              vTextHTML: Text_HTML,
              attachments: share
          };
      do as server
          http("GET", vWebhook, {
              'Content-Type': "application/json"
          }, data)
      end
      

       

       

       

       

      • Geschäftsführerin bei Kennes Digital
      • Stefanie_K
      • vor 11 Monaten
      • Gemeldet - anzeigen

       Bei File muss der Value aus dem Iterator hinein.
       

      • Michi.1
      • vor 11 Monaten
      • Gemeldet - anzeigen

      is ja Geil wenn man das richtig einstellt geht es auch. Danke

      Noch ne blöde frage? Was muss ich einstellen damit Make immer die Daten empfängt bei betätigung des Aufrufes in Ninox?

      • Geschäftsführerin bei Kennes Digital
      • Stefanie_K
      • vor 11 Monaten
      • Gemeldet - anzeigen

       
      Du musst nur das Szenario auf "ON" stellen (unten links oder oben rechts, je nach Ansicht). Dann ist der Webhook allzeit bereit und sobald du in Ninox auf den Button klickst, empfängt der Webhook die Daten und sendet die Mail raus. 

      • Michi.1
      • vor 11 Monaten
      • Gemeldet - anzeigen

      Riesen großen Dank an dich! 👍

      mit deiner hilfe konnte ich jetzt 7 Szenarien erstellen für verschiedene DB´s und Tabellen.

      Hab noch zur sicherheit den Anhang welchen ich nie benutze vor dem Aufruf gelöscht mit:

      function fx_AnhangLoeschen(xUrl : text) do
          let Antwort := "";
          let vAPIKey := "*****";
          let vHeader := {
                  Authorization: "Bearer " + vAPIKey
              };
          let vUrl := xUrl;
          Antwort := text(http("DELETE", xUrl, vHeader, ""))
      end;
      let vFileName := extractx(text(item(files(this), 0)), "(.+)\/(.+)", "i", "$2");
      let vUrl := "https://api.ninoxdb.de/v1/teams/" + teamId() + "/databases/" + databaseId() +
          "/tables/" +
          tableId(this) +
          "/records/" +
          Nr +
          "/files/" +
          vFileName;
      fx_AnhangLoeschen(text(vUrl));
      
      • Michi.1
      • vor 11 Monaten
      • Gemeldet - anzeigen

      mist einwas geht noch nicht.

      ich habe teilweise meherer empfänger der email. stehen hintereinander im Email feld in Ninix. (max@gggg.de; paul@gccc.de; wille@fdfdf.de)

      wie bekomm ich die denn mit rein. Stand jetzt geht keine Mail raus sobald meherer adressen vorhanden sind.

      • Geschäftsführerin bei Kennes Digital
      • Stefanie_K
      • vor 11 Monaten
      • Gemeldet - anzeigen

      Michi 
      Du kannst einen Empfänger ins "To" setzen und die anderen ins "CC" oder versendest für jeden Empfänger eine Mail mit Anhang (kostet mehr Operations in Make). Damit du die Mailadressen nicht mühsam auseinandernehmen musst oder ein Problem bekommst, wenn jemand die Mailadressen nicht mit einem Semikolon, sondern mal z.B. mit einem Komma trennt, würde ich die Datenfelder in Ninox trennen:

      • eines für den Hauptempfänger
      • eines für die CC-Empfänger

      Diese Werte kannst du über den Ninox-Code an den Webhook übergeben.

      • Michi.1
      • vor 2 Monaten
      • Gemeldet - anzeigen

      Grüß dich Stefanie,

      dein Szenario läuft eigentlich super. Nur leider werden ab und zu E-Mails ohne Anhang versendet, obwohl diese vorhanden sind. Hab auch keine Ahnung, woran es liegt. Als Antwort erhalte ich immer {"result":"Accepted"}

      Ist es möglich das Szenario so umzustellen, das man als result eine Antwort bekommt, ob die Mail mit Anhang gesendet wurde? Hab nur E-Mails mit Anhang.

      Komm aber mit Make nicht klar.

       

      Grüße Michi.

      • Geschäftsführerin bei Kennes Digital
      • Stefanie_K
      • vor 2 Monaten
      • Gemeldet - anzeigen

      Hallo   

      schwer zu sagen, ohne die ankommenden Daten und das Szenario zu kennen. Du könntest mal schauen, ob es vielleicht an der Dateigröße liegt. Was auch Probleme bereiten kann, sind Sonderzeichen in Dateinamen.

      Zudem kannst du mithilfe eines Filters (einstellbar über die Linie zwischen den Make-Modulen) abprüfen, ob der Anhang vorhanden ist. In solchen Fällen baue ich für Tests gerne einen Router ein. Ist ein Anhang dran, lasse die Mail versenden. Ist kein Anhang dran, lasse eine Mail an dich selbst senden. So kannst du vielleicht herausfinden, wieso er manche Anhänge mag und andere nicht.

      Wir können es uns auch gemeinsam per Zoom anschauen. Schreib mir gerne eine PN.

      • Michi.1
      • vor 2 Monaten
      • Gemeldet - anzeigen

      Danke dir,

      das mit dem an mich selber senden ist eine gute Idee. Die Dateinamen werden automatisch umbenannt und damit Sonderzeichen entfernt. Zb.: "Schueller_Muster_01851458_vom_02_16_2024.pdf", die Dateigröße ist zwischen 250 und 800 kb. Mit sleep() hab ich auch schon im Script gearbeitet um das Make genug "Zeit" zu geben.

      Da es nur sporadisch vorkommt, finde ich auch den Fehler nicht. Ich würde ja auf Make tippen. Denn wenn es vorkommt, dass die Mail ohne Anhang herausgeht, verhält sich Make so:

      • Sendet man sie gleich nochmal von Ninox aus, passiert dasselbe. Mail ohne Anhang
      • Sendet man sofort von einem anderen Record eine E-Mail, passiert ebenfalls dasselbe. Mail ohne Anhang.
      • Wartet man 5 min und versendet die Mail dann nochmal, so klappt wieder alles.?
      • Michi.1
      • vor 2 Monaten
      • Gemeldet - anzeigen

      Hier ist mal ein Fehler zu sehen. 11:53 wird das File im Anhang nicht aufgelistet. 11:55 beim erneuten Senden wird es aufgelistet und funktioniert dann auch.

       

       

       

      let vWebhook := "***********";
              let vRecordID := text(number(this));
              let An := 'Aufträge'.Vertragspartner.'Mail Verkauf';
              let bet := "Lieferscheine vom: " + Eingangsdatum + " " + "zu KV: " + 'Aufträge'.'KV-Nr.' +
                  "/ " +
                  'Aufträge'.Name +
                  " - " +
                  'Aufträge'.Vorname;
              let tex := if 'Folgende Positionen wurden beschädigt oder nicht angeliefert: *** TEXT für Mail eintragen ***' then
                      mithinweis
                  else
                      ohnehinweis
                  end;
              let data := {
                      RecordID: vRecordID,
                      vMailAn: An,
                      vBetreff: bet,
                      vTextHTML: tex,
                      vto: An
                  };
              let res := do as server
                      http("POST", vWebhook, {
                          'Content-Type': "application/json"
                      }, data)
                  end;
      
              if res.result.error then
                  alert(text(res.result.error))
              else
      
    • Michi.1
    • vor 11 Monaten
    • Gemeldet - anzeigen

    Danke noch mal Stefanie, du hast mir echt den Arsch gerettet! Denn es wurden alle langsam ungeduldig, bzw. haben wir ja auch sachen einzuhalten. Ein manuelles senden von 500 Mails im Monat will ich mir gar nicht vorstellen. Dein Konzept funktioniert (auch wenn ich es noch nicht mal im Ansatz verstehe ) und das ist die Hauptsache. Das mit den mehreren email Empfängern muss noch gelöst werden. Aber da findet sich was. 

     

    Danke 

    Michi 

Content aside

  • Status Answered
  • vor 2 MonatenZuletzt aktiv
  • 17Antworten
  • 301Ansichten
  • 2 Folge bereits