Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > agorum core JavaScript-API
Ab welcher Version verfügbar?
• agorum core 10.0.7
Diese Bibliothek bietet Funktionen zum Erstellen, Ändern, Prüfen und Laden eines Mailfilters.
Diese Bibliothek binden Sie stets am Anfang eines Skripts ein:
let mailfilterobjects = require('mailfilter/objects'); oder mit einem speziellen SessionController: let mailfilterobjects = require('mailfilter/objects')(sca);
Erstellt einen E-Mail-Filter.
Sie erhalten eine Fehlermeldung, wenn der E-Mail-Filter bereits existiert.
Aufruf
let mailfilter = mailfilterobjects.create('mailfilter', data);
Bei diesem Aufruf wird ein schon existierender E-Mail-Filter zurückgegeben:
Aufruf: let mailfilter = mailfilterobjects.tryCreate('mailfilter', data);
Parameter
let data = { name: , // MUSS - (string) Name des E-Mail-Filters action:, // (integer) Action des E-Mail-Filters // Actions defined as: // 1 = move to folder // 2 = delete // 3 = send message back // 4 = forward mail with store // ////5 = forward mail without store --> only internal // 6 = start Workflow // 7 = JavaScript // Parameter abhängig von action - begin // Wenn action = 1 destinationFolder, - (<Object OR ID>) ZielOrdnerID linkBack - (String) Zurücklinken? // Wenn action = 3 subject, - (String) Betreff der E-Mail, die zurückgesendet wird text , - (String) Text, der zurückgesendet wird // wenn action = 4 forwardWithoutStore - (boolean) true = forward mail without store false = forward mail with store Default: false toAddress, - String [] mit Mailadressen // wenn action = 6 workflowName, - String - Name des Workflows, der gestartet wird workflowDescription - String - Workflowname, den der gestartete Workflow bekommt // wenn action = 7 js, - String - Pfad zum JavaScript, das aufgerufen werden soll // Parameter abhängig von action - end description: , // (string) Beschreibung des E-Mail-Adapters // Default: null sortOrder: , // (long) Sortierreihenfolge // Default: ID des E-Mail-Filters allIncoming // boolean - Aktion durchführen auf alle eingehenden E-Mails // (Filter Einstellung ignorieren) // Default: false active // boolean - Dieser Filter ist aktiv // Default: false globalFilter // boolean - Globaler Filter (anwenden auf alle E-Mails aller Benutzer) // Default: false stopFilter // boolean - Keine weiteren Filter ausführen, wenn dieser Filter greift // Default: false filter: [ { value: '.*xyz.*' attribute: 'FROM' // FROM, SUBJECT, TO, CC, BCC, TEXT, ATTACHMENT, <Feldname> // Von, Betreff, an, cc, bcc, body, attachment-name, Anderes Feld }, .. . ] };
Beispiel
/* global sc */ let objects = require('common/objects'); let mailfilterobjects = require('mailfilter/objects'); let data = { name: 'Mein erster E-Mail-Filter', action: '1', // Move destinationFolder: objects.find('8276189'), linkBack: true }; let mailfilter = mailfilterobjects.tryCreate('mailfilter', data);
Ändert einen E-Mail-Filter.
Aufruf
mailfilterobjects.update('mailfilter', object, data);
Parameter
object: Ist das E-Mail-Filter-Objekt (MailFilterObject), das upgedatet werden soll // Alle data-Einträge sind KANN-Daten let data = { name: , // MUSS - (string) Name des E-Mail-Filters action:, // (integer) Action des E-Mail-Filters // Actions defined as: // 1 = move to folder // 2 = delete // 3 = send message back // 4 = forward mail with store // 5 = forward mail without store // 6 // 7 = JavaScript // Parameter abhängig von action - begin // action = 1 destinationFolder, - (String) ZielOrdnerID linkBack - (String) Zurücklinken? // Wenn action = 3 subject, - (String) Betreff der E-Mail, die zurückgesendet wird text , - (String) Text, der zurückgesendet wird // wenn action = 4 forwardWithoutStore - (boolean) true = forward mail without store false = forward mail with store Default: false toAddress, - String [] mit E-Mail-Adressen // wenn action = 6 workflowName, - String - Name des Workflows, der gestartet wird workflowDescription - String - Workflowname, den der gestartet Workflow bekommt // wenn action = 7 js, - String - Pfad zum JavaScript, das aufgerufen werden soll // Parameter abhängig von action - end description: , // (string) Beschreibung des E-Mail-Adapters // Default: null sortOrder: , // (long) Sortierreihenfolge - in dieser Reihenfolge werden die E-Mail-Filter ausgeführt // Default: ID des E-Mail-Filters allIncoming // boolean - Aktion durchführen auf alle eingehenden E-Mails // (Filter Einstellung ignorieren) // Default: false active // boolean - Dieser Filter ist aktiv Default: false globalFilter // boolean - Globaler Filter (anwenden auf alle E-Mails aller Benutzer) // Default: false stopFilter // boolean - Keine weiteren Filter ausführen, wenn dieser Filter greift // Default: false filter: [ { value: '.*xyz.*' attribute: 'FROM' // FROM, SUBJECT, TO, CC, BCC, TEXT, ATTACHMENT, <Feldname> // Von, Betreff, an, cc, bcc, body, attachment-name, Anderes Feld }, .. . ] }
Beispiel
/* global sc */ let objects = require('common/objects'); let mailfilterobjects = require('mailfilter/objects'); let mailfilter = objects.find('1234321'); // Laden der gesetzten Daten let data = mailfilterobjects.load('mailfilter', mailfilter); data.allIncoming = false; data.globalFilter = false; data.stopFilter = false; data.active = true; data.description = 'xx1'; /* Beispiel für data.action = '2'; // Delete */ /* Beispiel für data.action = '3'; // send message back data.subject = 'Ich bin im Urlaub', data.text = 'Das ist\nmein Text\nder zurückgesendet wird\nMfg Rolf'; */ /* Beispiel für data.action = '4'; // forward mail with store data.forwardWithoutStore = true; data.toAddress = [ 'rolf.lang@agorum.com', 'oliver.schulze@agorum.com' ], */ /* Beispiel für */ dataUpdate.action = 6; dataUpdate.workflowName = 'Mein erster WF'; dataUpdate.workflowDescription = 'mein text an den WF'; /* Beispiel für data.action = '7'; // JS aufrufen data.js = '/agorum/roi/customers/agorum.mail.filter/js/test/test-mailfilter-js'; */ dataUpdate.filter = [ { attribute: 'ABC', value: 'hier', isRegExp: false }, { attribute: 'xyzX', value: 'daX', isRegExp: true } ]; dataUpdate.sortOrder = 200; //parseInt(mailfilter.ID); //8277842 mailfilterobjects.update('mailfilter', mailfilter, dataUpdate);
Findet E-Mail-Filter, die auf eine übergebene E-Mail ausgeführt werden.
Aufruf
ler result = mailfilterobjects.check(mail);
Parameter
Parameter | Beschreibung |
---|---|
Definiert <Object or ID> der zu prüfenden E-Mail. |
Ergebnis
result = [ // Alle E-Mail-Filter, die für diese E-Mail passen { stopFilter : true, name : 'Mein erster Filter', action : { data : { link : true, destination : { path : '/agorum/roi/Files/mailfilter', id : '8276189' } }, name : 'move' }, 'id' : '8277274' // id des E-Mail-Filters }, { ... } ]
Beispiel
mailfilterobjects.check('8497334');
Ergebnis
[ { "stopFilter" : true, "name" : "Mein erster Filter", "action" : { "data" : { "link" : true, "destination" : { "path" : "/agorum/roi/Files/mailfilter", "id" : "8276189" } }, "name" : "move" }, "id" : "8277274" }, { "stopFilter" : false, "name" : "Test", "action" : { "data" : { "link" : true, "destination" : { "path" : "/agorum/roi/Files/mailfilter", "id" : "8276189" } }, "name" : "move" }, "id" : "8334559" }, { "stopFilter" : false, "name" : "343", "action" : { "data" : { "link" : true, "destination" : { "path" : "/agorum/roi/Files/mailfilter", "id" : "8276189" } }, "name" : "move" }, "id" : "8372556" } ]
Lädt das data-Objekt eines E-Mail-Filters.
Aufruf
let data = mailfilterobjects.load('mailfilter', mailfilter);
Parameter
Parameter | Beschreibung |
---|---|
mailfilter | Definiert das E-Mail-Fiter-Object. |
Ergebnis
data = { name: , // MUSS - (string) Name des E-Mail-Filters action:, // (integer) Action des E-Mail-Filters // Actions defined as: // 1 = move to folder // 2 = delete // 3 = send message back // 4 = forward mail with store // ////5 = forward mail without store --> only internal // 6 = start Workflow // 7 = JavaScript // Parameter abhängig von action - begin // Wenn action = 1 destinationFolder, - (<Object OR ID>) ZielOrdnerID linkBack - (String) Zurücklinken? // Wenn action = 3 subject, - (String) Betreff der E-Mail, die zurückgesendet wird text , - (String) Text, der zurückgesendet wird // wenn action = 4 forwardWithoutStore - (boolean) true = forward mail without store false = forward mail with store Default: false toAddress, - String [] mit E-Mail-Adressen // wenn action = 6 workflowName, - String - Name des Workflows, der gestartet wird workflowDescription - String - Workflowname, den der gestartet Workflow bekommt // wenn action = 7 js, - String - Pfad zum JavaScript, das aufgerufen werden soll // Parameter abhängig von action - end description: , // (string) Beschreibung des E-Mail-Adapters // Default: null sortOrder: , // (long) Sortierreihenfolge // Default: ID des E-Mail-Filters allIncoming // boolean - Aktion durchführen auf alle eingehenden E-Mails // (Filter Einstellung ignorieren) // Default: false active // boolean - Dieser Filter ist aktiv // Default: false globalFilter // boolean - Globaler Filter (anwenden auf alle E-Mails aller Benutzer) // Default: false stopFilter // boolean - Keine weiteren Filter ausführen, wenn dieser Filter greift // Default: false filter: [ { value: '.*xyz.*' attribute: 'FROM' // FROM, SUBJECT, TO, CC, BCC, TEXT, ATTACHMENT, <Feldname> // Von, Betreff, an, cc, bcc, body, attachment-name, Anderes Feld }, .. . ] };
Beispiel
let data = mailfilterobjects.load('mailfilter', mailfilter);