Mit diesem Modul lassen sich wiederkehrende Email einrichten, um z.B.
Die Konfiguration der Email-Notifikation erfolgt in zwei Schritten:
Das Modul gibt es seit Version 4.0.229.
Email-Notifikation wird normalerweise jede Stunde gestartet (von easydb-maintanance) und bei Bedarf werden Emails verschickt. Der Prozess kann per Hand in ezadmin angestoßen werden.
Um dieses Modul zu aktivieren muss in der Konfiguration in /etc/opt/easydb/instances.d/default.conf
email_notification=1 gesetzt sein.
Die Email-Maske wird im Creator erstellt. Sie muss die Tabelle ansprechen, für die der SELECT die Objekt-IDs für die Notifikationen ermittelt. Sie können auf die Liste der Objekt-IDs mittels der Funktion cell/FUNCTION-render_search_result zugreifen. Die Email-Notifikation legt darin alle IDs ab. Die Email selbst wird mit der ersten ID der zu sendenen Objekt-IDs aufgerufen und steht innerhalb der Email-Maske für OUTPUT zur Verfügung.
Sie können in der Email-Maske Subjekt setzen, dieses wird aber von der Config überschrieben. Genauso verhält es sich mit der Email-Adressen die in "From" und "To" übergeben werden, auch diese werden von der Config bzw. dem SELECT überschrieben.
Per cell/FUNCTION-email/set_header gesetzte Header werden von der Config nicht überschrieben.
Hier geben sie kommasepariert Namen von Konfigurationen an, für die Notifikationen verschickt werden sollen.
Diese Variable ist eine Pflichtangabe. Hier selektieren Sie die Objekt-IDs für die Emails verschickt werden sollen. Dabei wird in der 1. Spalte die ID selektiert und in der 2. Spalte ein eindeutiger Identifikations-String (z.B. eine Zeit), die benutzt wird, um Emails nicht doppelt zu verschicken. Ab der 3. Spalte können Email-Empfänger-Adressen selektiert werden, um z.B. nur bestimmte Benutzer über einen Rechteablauf zu informieren.
SELECT id, easydb_create_time FROM "Bilder" WHERE easydb_create_time BETWEEN NOW() AND NOW() - '1 day'::interval
Dieser SELECT holt die IDs aller Bilder die in den vergangenen 24 Stunden in die easydb geladen wurden. Durch die eindeutige easydb_create_time wird für jede Bild-ID nur einmal eine Email verschickt.
Beachten Sie, dass easydb die Information was verschickt wurde nach 60 Tagen löscht.
Der Name der Maske im Creator. Dies ist eine Pflichtangabe.
Der optionale Standard-Empfänger der Email ("To"). Dazu kommen noch alle Email-Adressen, die Sie im SELECT ab der 3. Spalte selektieren. Wenn diese Variable nicht gesetzt wird und im SELECT keine Email-Adresse selektiert ist, wird keine Mail verschickt.
Mit dieser optionalen Variable wird der Betreff der Email gesetzt. Sie überschreibt den Betreff der im Creator gesetzt wird oder des per Admin-Variable eingestellten Betreffs, es sei denn im Creator wurde set_header benutzt, um die Admin-Variable explizit in den Header zu schreiben (dann wird der Betreff kommasepariert ergänzt).
Mit dieser optionalen Variable wird der Absender der Email gesetzt.
Angabe der Wochentage, an denen eine Email verschickt wird. Easydb sammelt anfallende Nachrichten über Objekt-IDs und schickt sie dann in einer Email gemeinsam ab. Die Tage werden kommasepariert angegeben.
# 1=Montag, 2=Dienstag, 3=Mittwoch, 4=Donnerstag, 5=Freitag, 6=Samstag, 7=Sonntag
Wenn diese Variable nicht gesetzt ist, wird an jedem Tag der Woche eine Email verschickt (wenn nötig).
Angabe der vollen Stunden, zu denen ein Verschicken der Emails veranlasst wird. Anfallende Emails werden bis zu der angegebenen Stunde gesammelt und gemeinsam verschickt. Jede Stunde muss kommasepariert aufgeführt werden. Eine Kombination von NOTIFICATION_EMAIL.<name>.BATCH_HOURS und NOTIFICATION_EMAIL.<name>.BATCH_DAYS ist möglich. Das folgende Beispiel verschickt Emails zu vollen Stunde in der Arbeitszeit von 9-17 Uhr an jedem Wochentag.
NOTIFICATION_EMAIL.<name>.BATCH_HOURS=9,10,11,12,13,14,15,16,17
NOTIFICATION_EMAIL.<name>.BATCH_DAYS=1,2,3,4,5
NOTIFICATION_EMAILS=new_images
NOTIFICATION_EMAIL.new_images.subject=Yo Yo
NOTIFICATION_EMAIL.new_images.from=daily@my-easydb.de
NOTIFICATION_EMAIL.new_images=SELECT id, easydb_create_time FROM "Bilder" WHERE easydb_create_time BETWEEN NOW() AND NOW() - '2 days'::interval
NOTIFICATION_EMAIL.new_images.recipients=admin@my-easydb.de
NOTIFICATION_EMAIL.new_images.email_mask=neue_bilder
NOTIFICATION_EMAIL.new_images.batch_hours=10
Im Beispiel wird die im Creator definierte maske neue_bilder an admin@my-easydb.de geschickt und informiert über alle neuen Bilder.