E-Mail-Skripte
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.
-
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:
-
E-Mail gehört zu keinem Vorgang: Das Skript
NimhCreateTicket.groovy
wird ausgeführt und ein neuer Vorgang wird erstellt. -
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. -
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.Wiedereröffnen des VorgangsWenn 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 undNimhAppendToTicket.groovy
aufzurufen.
-
-
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.
-
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).
-
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.
-
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.
Normalerweise müssen Sie nur NimhCreateTicket.groovy
an Ihre Konfiguration anpassen.
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.
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 email addresses and fetch an
// address using the configurationService
mail.setAttribute('Reply-to', queueReplyAddress)
Häufig verwendete E-Mail-Attribute sind:
- Bcc
- From
- Reply-To
- To
- Cc
- Subject
Die Standardkonfiguration enthält das Beispielskript ChangeOutgoingMail.groovy
für ausgehende E-Mails.
Reply-To-Adressen
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 SeitenanpassungshowReplyTo
für den TypmailTemplate
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 Propertymail.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
odermail.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.
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.
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 Propertymail.reply.to
überschrieben.mail.useDefaultScript()