0

Erinnerung an Geburtstage per Email

Hallo,

Ich habe in meinem Adressbuch das Geburtsdatum hinterlegt und hätte gerne tägliche eine Erinnerung per E-Mail wer heute Geburtstag eventuell noch mit dem Alter hat.

Wie ist das umsetzbar? 

Danke  Michael

10 Antworten

null
    • Ninox-Professional
    • planoxpro
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Michael, das ist nach meinem Kenntnisstand so leider nicht machbar. Es gibt in Ninox keine Cronjobs, die im Hintergrund laufen und bestimmte Aktionen wie den Versand einer E-Mail auslösen können. Funktionen sind nur ausführbar, wenn die Datenbank aktiv, also geöffnet ist. Und selbst dann ist noch ein auslösendes Ereignis erforderlich. Das Öffnen der Datenbank an sich wäre schon so ein Ereignis, aber dann braucht man keine E-Mails mehr zu versenden, weil man sich die anstehenden Geburtstage bspw. auch direkt mit einem Dashboard in Ninox anzeigen lassen könnte.

    • Michael_Fuchs
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Im Dashboard werden sie mir angezeigt, nur leider schau ich da nicht regelmäsig bzw täglich rein. 

    • UweG
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Wie Axel schon ausführte mit reinen Bordmitteln wohl nicht lösbar. Sowas könnte man in der Cloudversion von Ninox mit der REST-API und einem externen Drittprogramm lösen. Mit Integromat oder NodeRed sollte sowas machbar sein. Integromat kostet ab einer gewissen Abfragezahl. NodeRed kostet einmalig die Hardwarekosten für einen Raspberry Pi oder nichts, wenn ein Rechner Windows/Mac bereits permanent 7/24 läuft. NodeRed funktioniert auch im Docker bei einigen Synology-Stations, die Docker unterstützen. Mit beiden Systemen kann man den Mailversand einmal pro Tag in Ninox auslösen.

    • Michael_Fuchs
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Es würde mir reichen wenn die Email beim öffnen der Datenbank gesendet wird da ich ja täglich damit arbeite.    

    Vieleicht füllt der Emailversand ein Feld, damit  die Mail nur einmal versendet wird und nicht bei jedem öffnen der Datenbank , dieses am nächsten Tag wieder zurück gesetzt wird um die Mail im nächsten Jahr wieder auszulösen.

    Ich werde das mal bei Gelegenheit probieren oder vieleicht hat einer von den Profis einen schnellen Code dafür.   Danke

    Integromat würde ich auch verwenden, da hätte ich einige Ideen  bin aber irgendwie zu blöd dafür und suche jemanden der mir hilft.

    • Ninox-Professional
    • planoxpro
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Michael, man könnte in den DB-Optionen als Trigger unter "Beim Öffnen der Datenbank ..." ein Skript ausführen, das die anstehenden Geburtstage ermittelt und eine Mail versendet. Zum Beispiel so:

     

    let myM := month(today());
    let myD := day(today());
    let myG := for i in select Geburtstage where month(Geburtsdatum) = myM and day(Geburtsdatum) = myD do
    i.Name + " " + i.Geburtsdatum + " (" + age(i.Geburtsdatum) + ")"
    end;
    let myText := "Heute haben Geburtstag: " + "
    " + join(myG, "
    ");
    sendEmail({
    from: "deineninoxmail@domain.tld",
    to: "zieladresse@domain.tld",
    subject: "Erinnerung an Geburtstage",
    text: myText
    })

     

    Das wird dann aber bei jedem Öffnen der Datenbank gemacht. Um mehrmaliges Versenden am selben Tag zu verhindern, müsste man also auch noch eine Kontrollstruktur einrichten. Ob es den Aufwand wert ist, wenn man doch sowieso schon in der Datenbank ist und die Geburtstage im Dashboard angezeigt bekommt, ist eine Frage, die natürlich nur du beantworten kannst.

    • Torsten_Stang.1
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hinweis nach leidiger Erfahrung mit Copytexter's Verfahren:

     

    Nutzen mehrere User die Datenbank ist beim Öffnen im Zweifel die im globalen Skript abgefragte Kontrollstruktur noch nicht synchronisiert, was zu mehrmaligem Mail-Versand führt.

     

    lg, Torsten

    • Ninox-Professional
    • planoxpro
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Torsten, bei "Kontrollstruktur" hatte ich bspw. an eine versteckte Tabelle mit einem Datumsfeld gedacht, das vor dem Ausführen der Aktion geprüft würde. Meinst du mit "noch nicht synchronisiert", dass ein neuer Eintrag in diese Kontrolltabelle beim nächsten Nutzer ein paar Minuten später noch nicht gefunden und die Aktion deshalb doch nochmal ausgeführt würde?

    • Torsten_Stang.1
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Nicht "ein paar Minuten später" sondern schlicht NACH den Startfunktionen - so oder so also zu spät :-/

     

    ist übrigens bereits schon länger als CR eingetragen…

    • UweG
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Wenn man mit der Cloudversion arbeitet kann man das Problem bspw. mit Integromat umgehen und die Datenbank muss dazu nicht mal geöffnet sein.
    Man erstellt ein Ja/Nein Feld nennen wir es 'Auslöser' im Dashboard und hinterlegt folgendes Script beim Trigger 'Nach Änderung': 
    if 'Auslöser' = true then
    (Hier das Script vom Copytexter);
    'Auslöser' := false
    end
    Wenn man die Sichtbarkeit dieses Feldes auf 'null' setzt kann man daran auch nicht aus versehen rumspielen.
    Jetzt erstellt man im Integromat ein neues Scenario mit zwei Modulen. Das vorgegebene Zeitmodul (da kann man die Uhrzeit einstellen wann es täglich auslösen soll) und einem Ninox-Modul 'Update-Record'.
    Dort trägt man dann seine Daten zu dem Record im Dashboard ein und setzt das Ja/Nein Feld 'Auslöser' auf Ja.
    An jedem Tag zur eingestellten Uhrzeit wird jetzt im Dashboard das Feld 'Auslöser' auf JA gesetzt, damit der Trigger ausgelöst und die Mail versandt und abschließend der Auslöser wieder auf NEIN gesetzt.
    Das kann man mit jedem beliebigen Drittprogramm machen, welches über eine API Anbindung und entsprechenden Intervallfunktionen verfügt. Ich nutze wegen der wiederkehrenden Kosten bei Integromat/Zapier etc. Nod-Red auf einem Raspberry-Pi.

    • Ninox-Professional
    • planoxpro
    • vor 3 Jahren
    • Gemeldet - anzeigen

    @Torsten: Ah, okay, danke für die Info. Habe sowas selber noch nie genutzt.

Content aside

  • vor 3 JahrenZuletzt aktiv
  • 10Antworten
  • 1120Ansichten