Konkreter Anwendungsfall ist die Anforderung zum Versand von reminder-mails in TLContract:
Entweder: Für alle Verträge, wenn der Vertrag einen der Status grün, gelb oder rot hat, schicke eine Email für diesen Vertrag an den Vertragseigner.
Oder: Für alle Vertragseigner, finde alle Verträge in den Status grün, gelb oder rot für diesen Vertragseigner und schicke eine Email mit einer geordneten Aufstellung dieser Verträge an den Vertragseigner.
Allgemein: Es soll ermöglicht werden, aus einer Applikation heraus z.B. als "Scheduled Task" Emails zu verschicken. Der Email Inhalt (Subject, Body) soll durch Auswertung von Template Expressions im Kontext eines fachlichen Modells ermittelt werden. Die E-Mail Empfänger sollen als E-Mail Adresse und/oder Account oder Kontakt übergeben werden können.
Weiterhin sollen (optional) Message type und text encoding festgelegt werden können. Ebenfalls optional soll ggfs. auch der Versand von Dokumenten als Attachment ermöglicht werden.
Anwendung
sendMail( subject: "Hello world!", to: "Mr. Foobar <foo@bar.de>", cc: ["hello@kitty.com", "bar@foo.de"], bcc: "hidden@local.com", body: {{{ <h1>Hello {$receiver}<h1> <p>...</p> }}}, attachements: [ binary(...), { "id": "abc", "data": binary(...) } ] )
Code-Migration
Typo in diversen APIs gefixt: Anhang heißt attachment.
Data-Migraiton
Typo im Modell gefixt: Anhang heißt attachment. Die Datenmigration passiert automatisch.
Test
Aus der Script-Console eine Mail verschicken.