Durchsuchbare Dokumentation aufrufen | Zurück zur Dokumentationsübersicht
Navigation: Dokumentationen agorum core > agorum core für Entwickler > 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
// 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
// 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 = 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 */
data.action = 6;
data.workflowName = 'Mein erster WF';
data.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';
*/
data.filter = [
{
attribute: 'ABC',
value: 'hier',
isRegExp: false
}, {
attribute: 'xyzX',
value: 'daX',
isRegExp: true
}
];
data.sortOrder = 200; //parseInt(mailfilter.ID); //8277842
mailfilterobjects.update('mailfilter', mailfilter, data);
Findet E-Mail-Filter, die auf eine übergebene E-Mail ausgeführt werden.
Aufruf
let 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
let mailfilterobjects = require('mailfilter/objects');
let result = mailfilterobjects.check('acf1e170-b6df-11ef-812f-02420a0a000e');
result;
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
/* global sc */
let objects = require('common/objects');
let mailfilterobjects = require('mailfilter/objects');
let mailfilter = objects.find('1919522');
let data = mailfilterobjects.load('mailfilter', mailfilter);
data;
Rückgabe-Beispiel
{
"destinationFolder" : "1887409",
"stopFilter" : false,
"filter" : [ ],
"allIncoming" : false,
"linkBack" : true,
"sortOrder" : 1919522,
"name" : "Mein zweiter E-Mail-Filter",
"description" : "",
"action" : "1",
"active" : true,
"globalFilter" : true,
"isActive" : true
}