Connector für Microsoft Exchange in Prozessen
Der Zugriff auf die Objekte des Microsoft Exchange-Servers kann über Prozesse realisiert werden. Dabei werden folgende Szenarien unterschieden:
Einsatz als interaktiver Benutzer
Ein Prozess wird durch ein beliebiges Datensatz-Ereignis angestoßen und löst dann die entsprechenden Aktionen aus. In diesem Fall kann der Prozess ausschließlich auf das Postfach des aktuell angemeldeten Benutzers zugreifen.
Einsatz mit Timer-Ereignissen
Bei Timer-Ereignissen gibt es keinen interaktiven Benutzer. In diesem Fall kann ein vordefinierter Benutzer in einem Dialog ausgewählt werden, in dessen Benutzerkontext des Microsoft Exchange-Servers die gewünschten weiteren Prozessaktionen durchgeführt werden.
Verfügt dieser Benutzer über entsprechende Berechtigungen an freigegebenen Postfächern, können auch in diesen Postfächern entsprechende Aktionen ausgeführt werden. Solche Aktionen könnten das Anlegen einer Aufgabe oder eines Termins sein. So können z. B. Mitarbeiter auf diesem Weg direkt aus einem Kundenmanagementsystem heraus mit Aufgaben oder Terminen für Kundenbesuche, Wiedervorlagen etc. versehen werden. Durch den Echtzeit-Zugriff auf den Microsoft Exchange-Server sind alle Termine stets auf dem aktuellen Stand.
Benutzerauswahl
Alle Informationen zu den Einstellungen in diesem Dialog finden Sie hier.
Groovy
In der Bibliothek stehen eine Reihe an Klassen und Methoden über die Kategorie "Exchange" zur Verfügung, die im Groovy-Umfeld verwendet werden können. Hier einige Beispiele in Kurzform:
E-Mail lokal abspeichern
import de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtils
def strMessageId = g_request.get('qs_id')
def msgUtil = ExchangeUtils.getMessageUtil()
def strHref = msgUtil.getHrefById(strMessageId)
def mailboxUtil = ExchangeUtils.getMailboxUtil()
def strMailBoxName = mailboxUtil.getUserAccount(g_session?.user?.guid).exchangeMailbox
def strMailName = strMessageId[strMessageId.lastIndexOf("-") + 1..-1]
def mail = new File("C:/${strMailName}.eml")
msgUtil.saveMessageAsEML(strMailBoxName, strHref, mail)
E-Mail in Intrexx Datengruppe speichern
import de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtils
def conn = g_dbConnections.systemConnection
def strMailBoxName = "ExTest.2"
def strMessageId = g_request.get('qs_id')
def msgUtil = ExchangeUtils.getMessageUtil()
def strHref = msgUtil.getHrefById(strMessageId)
def strMailName = strMessageId[strMessageId.lastIndexOf("-") + 1..-1]
def mail = new File(g_dirWorkflowTmp, "${strMailName}.eml")
msgUtil.saveMessageAsEML(strMailBoxName, strHref, mail)
def iMaxLid = g_dbQuery.executeAndGetScalarValue(conn, "SELECT MAX(LID) FROM XDATAGROUP445CAD5D", 0)
g_dbQuery.executeUpdate(conn,
"INSERT INTO XDATAGROUP445CAD5D (LID) VALUES (?)")
{
setInt(1, iMaxLid + 1)
}
g_dgFile.move(guid: "353CB9686F4FF3CAC9FD8894AAC7C9611BA58625", id: iMaxLid + 1, file: mail, name: "${strMailName}.eml",
deleteAlways: true, triggerWorkflow: false)
Neuen Ordner anlegen
import de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtils
def mailboxUtil = ExchangeUtils.getMailboxUtil()
def strParentFolderName = g_request.get("qs_parentFolder")
def strNewFolderName = g_request.get("qs_newFolder")
mailboxUtil.createFolder(strNewFolderName, strParentFolderName , "urn:content-classes:mailfolder")
Bestehenden Ordner umbenennen
import de.uplanet.lucy.server.businesslogic.exchange.util.ExchangeUtils
def mailboxUtil = ExchangeUtils.getMailboxUtil()
def strOldFolderName = g_request.get("qs_oldFolder")
def strNewFolderName = g_request.get("qs_editFolder")
mailboxUtil.updateFolderName("${strOldFolderName}", "${strNewFolderName}")
Weitere Informationen
Installation
Verbindung einrichten
Microsoft Exchange-Daten in Applikationen einbinden