Skripte des Typs E-Mail
Mit Skripten dieses Typs werden die E-Mail-Funktionen von ConSol CM konfiguriert. Einige der Skripte sind Teil der Standardsystemkonfiguration und müssen an die kundenspezifische Systemkonfiguration angepasst werden. Sie können auch eigene Skripte hinzufügen.
E-Mail-Skripte für eingehende E-Mails
Eingehende E-Mails werden über NIMH verarbeitet, siehe E-Mail-Konfiguration. Wenn ConSol CM eine E-Mail erhält, wird diese von mehreren Skripten verarbeitet.
Abbildung 6: E-Mail-Skripte in ConSol CM
-
NimhIncomingMailRouting.groovy
Dies ist das erste Skript, das ausgeführt wird, wenn eines der konfigurierten Postfächer eine E-Mail empfängt (siehe Einstellungen für die eingehende E-Mail-Konten). Es bestimmt, wie die E-Mail weiter verarbeitet wird. Dazu gibt es drei Möglichkeiten:-
Die E-Mail gehört zu keinem Vorgang.
-> Das Skript NimhCreateTicket.groovy wird ausgeführt und ein neuer Vorgang wird erstellt.
-
Die E-Mail gehört zu einem offenen Vorgang.
-> Das Skript NimhAppendToTicket.groovy wird ausgeführt und die E-Mail wird zum Protokoll des Vorgangs hinzugefügt.
-
Die E-Mail gehört zu einem geschlossenen Vorgang.
-> Das Skript NimhMailToClosedTicket.groovy wird ausgeführt. Es wird ein neuer Vorgang erstellt und mit dem geschlossenen Vorgang verknüpft.
Wenn der Vorgang, für den die E-Mail eingeht, wieder geöffnet werden soll, anstatt einen neuen Vorgang zu erstellen, müssen Sie eine Aktivität zum Wiedereröffnen in den Workflow einbauen und NimhIncomingMailRouting.groovy anpassen, um den Vorgang wieder zu öffnen und NimhAppendToTicket.groovy aufzurufen.
Normalerweise ist es nicht erforderlich, dieses Skript anzupassen.
-
-
NimhCreateTicket.groovy
Dieses Skript wird ausgeführt, wenn der E-Mail-Betreff nicht zum regulären Ausdruck passt, mit dem die E-Mail an einen vorhandenen Vorgang angehängt werden kann. Es erstellt einen neuen Vorgang für die eingehende E-Mail. Die folgenden Aspekte müssen in diesem Skript definiert werden:- Queue, in der der Vorgang erstellt werden soll
- Werte von Vorgangsfeldern, die beim Erstellen des Vorgangs automatisch gesetzt werden sollen
- Felder, die im gewünschten Kontaktdatenmodell für den Namen und die E-Mail-Adresse der Personen verwendet werden
- Feld, das für den Namen der Standardfirma verwendet wird
- Kontaktgruppe
Standardmäßig sucht das Skript nach einer Person, deren E-Mail-Adresse mit der From-Adresse der eingehenden E-Mail übereinstimmt. Wenn keine passende Person gefunden werden kann, wird eine neue Person für die Standardfirma erstellt.
Außerdem können Sie das Skript anpassen, um weitere Einstellungen für die Vorgangserstellung vorzunehmen, z. B. zum Erstellen von Vorgängen in verschiedenen Queues je nach To-Adresse der E-Mail.
Dieses Skript muss normalerweise stark angepasst werden. Bitten Sie dafür einen ConSol CM-Consultant um Unterstützung.
-
NimhAppendToTicket.groovy
Dieses Skript wird ausgeführt, wenn die E-Mail zu einem offenen Vorgang gehört. Es fügt die E-Mail zum Vorgangsprotokoll hinzu. Die Zuweisung der E-Mail zum Vorgang erfolgt durch den Vergleich des E-Mail-Betreffs mit dem regulären Ausdruck, der in Muster für den Betreff eingehender E-Mails im Tab Einstellungen der Seite E-Mail-Konfiguration eingegeben ist (siehe Globale Konfiguration).Normalerweise ist es nicht erforderlich, dieses Skript anzupassen.
-
NimhMailToClosedTicket.groovy
Dieses Skript wird ausgeführt, wenn die E-Mail zu einem geschlossenen Vorgang gehört. Es erstellt einen neuen Vorgang für die Person und eine Referenz zum geschlossenen Vorgang.Normalerweise ist es nicht erforderlich, dieses Skript anzupassen.
-
NimhErroneousMessageHandling.groovy
Dieses Skript wird ausgeführt, wenn die Verarbeitung der E-Mail fehlschlägt. Wenn es „true“ zurückgibt, wird ein Backup der E-Mail gespeichert und auf der Seite Fehler bei eingehenden E-Mails angezeigt. Wenn es „false“ zurückgibt, erfolgt keine (weitere) Verarbeitung. Sie können andere Aktionen vor dem return-Ausdruck implementieren, z. B. einen Vorgang mit der fehlgeschlagenen E-Mail als Attachment erzeugen.
E-Mail-Skripte für ausgehende E-Mails
Das Verarbeiten von ausgehenden E-Mails kann pro Queue eingestellt werden (siehe Queues). Jede Queue kann ein E-Mail-Skript haben, das für jede E-Mail, die aus einem Vorgang in dieser Queue geschrieben wird, ausgeführt wird. Dies gilt sowohl für E-Mails, die manuell durch einen Benutzer gesendet werden, also auch für automatische E-Mails, in denen die Methode Mail.useDefaultScript() verwendet wird.
Ein häufiger Anwendungsfall für Skripte für ausgehende E-Mails ist das Einstellen von queue-spezifischen Reply-To- oder From-Adressen.
Die Standardkonfiguration enthält ein Beispielskript für ausgehende E-Mails:
- ChangeOutgoingMail.groovy
Template für Skripte für ausgehende E-Mails
Innerhalb des Skripts für ausgehende E-Mails ist das Java-Objekt mailEntry implizit als Objekt mail verfügbar. Sie müssen alle erforderlichen Attribute für die ausgehende E-Mail mit den Methoden mail.setAttribute() oder mail.setAttributes() setzen.
def queueReplyAddress = "serviceteam@mycompany.com"
// you might also use system properties for the queue-specific e-mail addresses and fetch an
// address using the configurationService!
mail.setAttribute('Reply-to', queueReplyAddress)
Code-Beispiel 5: E-Mail-Skript
Häufige E-Mail-Attribute sind:
- Bcc
- From
- Reply-To
- To
- Cc
- Subject
Reply-To-Adressen in ConSol CM
Es gibt vier Arten zum Festlegen der Reply-To-Adresse:
- System-Property mail.reply.to
Wenn diese Property gesetzt ist, wird ihr Wert im E-Mail-Editor im Web Client angezeigt. Die E-Mail-Adresse kann durch das Skript für ausgehende E-Mails überschrieben werden. Wenn das Attribut der Seitenanpassung showReplyTo für den Typ mailTemplate auf false gesetzt ist, wird im E-Mail-Editor keine Reply-To-Adresse angezeigt, aber sie wird trotzdem verwendet. - Queue-spezifisches Skript für ausgehende E-Mails
Wenn eine Reply-To-Adresse im Skript für ausgehende E-Mails gesetzt ist, wird diese Adresse verwendet. Sie überschreibt die Property mail.reply.to, auch wenn die in dieser Property gesetzte Adresse im E-Mail-Editor angezeigt wird. - System-Property mail.from
Nur relevant, wenn die Reply-To-Adresse weder in der Property mail.reply.to noch im Skript für ausgehende E-Mails gesetzt ist. In diesem Fall verwenden die meisten E-Mail-Clients die From-Adresse als Reply-To-Adresse. - E-Mail-Adresse des aktuellen Benutzers
Nur relevant, wenn die Reply-To-Adresse weder in den Properties mail.reply.to oder mail.from noch im Skript für ausgehende E-Mails gesetzt ist. In diesem Fall wird die persönliche E-Mail-Adresse des Benutzers, der im Web Client aktuell angemeldet ist, als Reply-To-Adresse für E-Mails aus dem Web Client verwendet.
Im Vorgangsprotokoll des Web Clients wird immer die Reply-To-Adresse angezeigt, die für eine ausgehende E-Mail tatsächlich verwendet wurde.
Best Practice:
Setzen Sie immer eine Reply-To-Adresse, um zu verhindern, dass persönliche E-Mail-Adressen verwendet werden. Dies würde sonst dazu führen, dass E-Mails von Kunden nicht an ConSol CM sondern an die persönlichen E-Mail-Konten der Benutzer gesendet würden. Die Reply-To-Adresse wird an zwei Stellen gesetzt:
- System-Property mail.reply.to
Dies ist die einfachste Art und Weise, die Reply-To-Adresse zu setzen. Diese Adresse wird auch im E-Mail-Editor angezeigt. - Queue-spezifisches Skript für ausgehende E-Mails
Wenn je nach Queue unterschiedliche Reply-To-Adressen benötigt werden, empfehlen wir, nur ein Skript für ausgehende E-Mails zu schreiben, in dem die Queue-Namen den spezifischen Reply-To-Adressen zugeordnet sind. Dies kann auch auf Bcc-, Cc- oder andere Adressen ausgeweitet werden.
Sie können die System-Property mail.reply.to mit queue-spezifischen Reply-To-Adressen kombinieren. Auf diese Weise wird die E-Mail-Adresse, die im Skript für ausgehende E-Mails festgelegt ist, für Queues mit solch einem Skript verwendet, während für den Rest der Queues die E-Mail-Adresse aus der System-Property verwendet wird.
Verwendung in Workflow-Skripten
Wenn E-Mails aus Workflow-Skripten gesendet werden, muss die Reply-To-Adresse im Skript gesetzt werden.
-
Rufen Sie den Wert der System-Property mail.reply.to ab und setzen sie ihn in der ausgehenden E-Mail als Reply-To-Adresse.
configurationService.getValue("cmweb-server-adapter","mail.reply.to")
-
Verwenden Sie das Objekt Mail, wenn das Skript für ausgehende E-Mails verwendet werden soll. Damit wird die Property mail.reply.to überschrieben.
mail.useDefaultScript()