1

Automatische Mail nach Ablaufdatum

Hallo ich würde gerne eine Mail automatisch versenden sobald ein Datum den heutigen Tag erreicht hat, wie kann ich das machen? 
Gruß 

13 Antworten

null
    • Leonid_Semik
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo Pflege Profi,

    Ninox hat keinen eigenen Chronjob - die Skripte werden nur ausgeführt wenn die DB geöffnet ist. Man kann eine Formel beim Öffnen der DB hinterlegen, welche die Datumsangaben vergleicht. Es muss aber sichergestellt werden, dass die DB jeden Tag geöffnet wird. Oder einen Drittanbieter nutzen (Zpier, Integromat 8n8 etc.). Ich selbst benutze Integromat dafür. Man braucht nur in einer Tabelle ein Ja/Nein Feld anzutriggern und dort die Datumsprüfung hinterlegen.

    Leo

    Leo

    • Caremanagement
    • PflegeProfi
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Danke Leo 
    Kannst du mir genauer sagen wie ich das in Integromat umsetzten kann ? 
    Ich nutze auch Integromat. Gruß 

    • Leonid_Semik
    • vor 2 Jahren
    • Gemeldet - anzeigen

    1. In Ninox eine Tabelle anlegen mit nur einem Record und einem Ja/Nein Feld. Bei dem Feld die Formel hinterlegen:
    ---

    if 'Ja/Nein' then
    for i in select 'Tabelle mit Datumsfelder' do
    if i.Datum=today() then
    sendMail({
    ....
    })
    end
    end;
    'Ja/Nein':=false
    end

    2. In Integromat Ninox-Modul "update Record" anlegen, dort deine DB, deine Tabelle mit dem Ja/Nein Feld und dein Record (1)  auswählen und beim Ja/Nein Feld das Häckchen auf true setzen. Jetzt bei Schedule Setting den Interval festlegen.

    Fertig

    • innerwise
    • Jakob_Albrecht
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hi Leon, ich möchte etwas sehr ähnliches erreichen und nur statt "heute" soll die Email 30 Tage vor dem Ablaufdatum versendet werden. 
    Dafür habe ich bereits ein Berechnungs-Feld wo die Tage bis zum Ablaufdatum errechnet werden. 

    Ich habe jetzt auch eine neue Tabelle angelegt mit dem Ja/Nein Feld und den Code nach bestem Gewissen angepasst,
    leider bekomme ich eine Fehlernachricht (Eine Tabellenspalte wurde nicht gefunden: Ja/Nein in Zeile 1, Spalte 12.

    Könntest du mir einen Tipp geben wo hier der Fehler liegt? 

    if 'Ja/Nein' then
    for i in select ''Verknüpfung'.'Verbleibende Tage bis zum Ablaufdatum'' do
    if i.number=30 then
    sendMail({
    from: "support@.....com",
    to: "Personen.'E-Mail'",
    subject: "Dein Coacheintrag läuft in einem Monat ab"
    text: "Hallo Personen.Vorname Personen.Nachname" + "Wir möchten dich nochmals daran erinnern, dass dein Coacheintrag in einem Monat abläuft und wollten wissen, ob du deinen Eintrag verlängern möchtest."
    + "Wenn du weiterhin auf der Coachliste bleiben möchtest, so schicke uns bitte einen Nachweis über die Teilnahme an zwei innerwise Präsenzkursen oder Kongressen die du in den letzten 12 Monaten besucht hast." + "Falls du uns deinen Kursnachweis bereits geschickt hast, dann brauchst du auf diese Mail nicht antworten."
    })
    end
    end;
    'Ja/Nein':=false
    end

     

    Statt Integromat nutze ich Zapier aber da habe ich die wiederkehrenden Update Record Info's bereits gefunden, damit kann ich es dann also auch automatisieren.

    • Leonid_Semik
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo Jakob,

    Die Fehlermeldung besagt, dass das Feld Ja/Nein in dieser Tabelle nicht existiert. Da die Formel aber genau bei diesem Feld nach Änderung liegen muss ist die Schlussfolgerung: Entweder heißt das Feld anders oder deine Formel liegt nicht in der neuen Tabelle. Ansonsten sollte die Formel so aussehen:

    ---

    if 'Ja/Nein' then
    for i in select ''Verknüpfung' where number('Verbleibende Tage bis zum Ablaufdatum')=30 do
    sendMail({
    from: "support@.....com",
    to: "Personen.'E-Mail'",
    subject: "Dein Coacheintrag läuft in einem Monat ab"
    text: "Hallo "+Personen.(Vorname+" "+Nachname) + ",
    Wir möchten dich nochmals daran erinnern, dass dein Coacheintrag in einem Monat abläuft und wollten wissen, ob du deinen Eintrag verlängern möchtest."
    + "Wenn du weiterhin auf der Coachliste bleiben möchtest, so schicke uns bitte einen Nachweis über die Teilnahme an zwei innerwise Präsenzkursen oder Kongressen die du in den letzten 12 Monaten besucht hast." + "Falls du uns deinen Kursnachweis bereits geschickt hast, dann brauchst du auf diese Mail nicht antworten."
    })
    end;
    'Ja/Nein':=false
    end

     

    ---

     

    Leo

    • innerwise
    • Jakob_Albrecht
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hi Leo, da hatten sich tatsächlich noch Leerzeichen vor und nach dem / eingeschlichen.

     

    Das ist jetzt weg und nun kommt aber der Hinweis "ID erwartet in Zeile 2, Spalte 23".
    Wenn ich das richtig einschätze, dann bezieht sich das auf die Tabelle "Verknüpfung" - gibt es für Tabellen auch IDs?

    Könntest du mir hier noch einmal einen Tip geben? Das wäre echt großartig.

     

    Im Anhang einfach mal ein Screenshot von dem Fehler und von der Funktion für die verbleibenden Tage...

     

    Screenshot 2021-05-25 at 17.57.52 Screenshot 2021-05-25 at 18.00.41

    • mirko3
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hi Jakob. Vielleicht ist es nur der kleine Fleck ;-). Mirko

    • Leonid_Semik
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo Mirko,

    dankeschön, stimmt, ein Apostrof muss da weg.

    Hallo Jakob,

    Das Ja/Nein Feld würde ich in eine leere Tabelle auslagern wo nur ein Datensatz existiert. Dann ist es einfacher Zapier anzubinden. Heißt die Tabelle wirklich Verknüpfung?

    Leo

    • innerwise
    • Jakob_Albrecht
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Danke euch beiden, das Apostrof war es und der Fehler ist jetzt weg, dafür kommt nun "Die Funktion ist nicht definiert "sendMail(any) in Zeile 9, Spalte 3. 
    Das müsste sich auf das end; beziehen. Ich hatte testhalber noch ein zweits "end" darüber eingefügt (weil es ganz oben im ersten Code auch vorhanden war) aber der Fehler bleibt gleich.

     

    Habe schon gelesen das als Absende-Email eine Ninox User-Email genommen werden muss, das habe ich jetzt auch angepasst.

     

    Wisst ihr was dazu führt das die sendmail any Funktion nicht zufrieden (aka definiert) ist?

    Habe mich hier durchs Forum und Anleitungen gelesen und nichts gefunden was da fehlt.

     

    Und ja, die Tabelle heißt tatsächlich Verknüpfungen da ich dort Personen-Daten mit deren Lizenz-Daten verknüpfe und eine n:n Verbindung brauchte, der Name ist tatsächlich nicht der Höhepunkt meiner kreativen Leistung...

    Für den Email-Versand habe ich schon die neue Tabelle Chronjob angelegt (aber in derselben Datenbank) und dort ist nur das Ja/Nein Feld drinne UND die Verknüpfung zu Personen (wo die Nuter-Email-Adresse liegt) und zu Verknüpfung (wo das Ablaufdatum der einzelnen Lizenzen für die Nutzer liegt). Das müsste so einfach anzubinden sein an Zapier, oder meinst du etwas anderes?

     

    Vielen vielen Dank für die Unterstützung. 

     

    if 'Ja/Nein' then
    for i in select 'Verknüpfung' where number('Verbleibende Tage bis zum Ablaufdatum')=30 do
    sendMail({
    from: "office@innerwise.com",
    to: "Personen.'E-Mail'",
    subject: "Dein Coacheintrag läuft in einem Monat ab"
    text: "Hallo "+Personen.(Vorname+" "+Nachname) + "," + "Wir möchten dich nochmals daran erinnern, dass dein Coacheintrag in einem Monat abläuft und wollten wissen, ob du deinen Eintrag verlängern möchtest." + "Wenn du weiterhin auf der Coachliste bleiben möchtest, so schicke uns bitte einen Nachweis über die Teilnahme an zwei innerwise Präsenzkursen oder Kongressen die du in den letzten 12 Monaten besucht hast." + "Falls du uns deinen Kursnachweis bereits geschickt hast, dann brauchst du auf diese Mail nicht antworten."
    })
    end;
    'Ja/Nein':=false
    end

    • UweG
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Bei der Zeile subject fehlt glaube ich ein Komma am Ende.

    • Leonid_Semik
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Hallo Jacob,

    nein, die Tabelle muss nur das Ja/Nein Feld haben. Bei dir ist die Email-Adresse bei to in Anführungszeichen. D.h. du kriegst hier die Email adresse namens Personen.'E-Mail. Du hast doch die Schleife mit Prüfung und die Email-adresse sollte dann auch innerhalb der Schleife sein:

    ---

    if 'Ja/Nein' then
    for i in select 'Verknüpfung' where number('Verbleibende Tage bis zum Ablaufdatum')=30 do
    sendMail({
    from: "office@innerwise.com",
    to: i.Personen.'E-Mail',
    subject: "Dein Coacheintrag läuft in einem Monat ab"
    text: "Hallo "+i.Personen.(Vorname+" "+Nachname) + "," + "Wir möchten dich nochmals daran erinnern, dass dein Coacheintrag in einem Monat abläuft und wollten wissen, ob du deinen Eintrag verlängern möchtest." + "Wenn du weiterhin auf der Coachliste bleiben möchtest, so schicke uns bitte einen Nachweis über die Teilnahme an zwei innerwise Präsenzkursen oder Kongressen die du in den letzten 12 Monaten besucht hast." + "Falls du uns deinen Kursnachweis bereits geschickt hast, dann brauchst du auf diese Mail nicht antworten."
    })
    end;
    'Ja/Nein':=false
    end

    ---

     

    Leo

    • innerwise
    • Jakob_Albrecht
    • vor 2 Jahren
    • Gemeldet - anzeigen

    ah perfekt - die verknüpften Tabellen habe ich jetzt auch rausgeschmissen und das mit i.Personen.'E-Mail' kann ich jetzt auch nachvollziehen.
    Und das , nach dem subject ist jetzt auch drinne.

     

    Aus irgendeinem Grund wird immer noch die Fehlernachricht ausgeworfen, ich hab jetzt aber auch mal beim Support nachgefragt.

     

    Screenshot 2021-05-26 at 12.27.39

    • innerwise
    • Jakob_Albrecht
    • vor 2 Jahren
    • Gemeldet - anzeigen

    Das Problem war das die Funktion nicht sendMail sondern sendEmail heißt, das habe ich jetzt geändert und jetzt ging es.

    Danke für die Unterstützung und viele Fehlerbehebungen. 

Content aside

  • 1 „Gefällt mir“ Klicks
  • vor 2 JahrenZuletzt aktiv
  • 13Antworten
  • 1115Ansichten
  • 1 Folge bereits