Häufig besteht eine E-Mail aus mehreren Nachrichten (oder Antworten), die einen Thread bilden. In Microsoft Exchange Server werden diese Threads als Unterhaltungen bezeichnet. Während Sie programmgesteuert mit MS Exchange Server arbeiten, müssen Sie möglicherweise auf die Konversationen zugreifen und diese verwalten. Um dies zu erreichen, erfahren Sie in diesem Artikel, wie Sie Konversationen auf Microsoft Exchange Server in Java suchen, kopieren, verschieben und löschen.
- Java-API zum Arbeiten mit Gesprächen auf MS Exchange Server
- Konversation auf MS Exchange Server in Java finden
- Kopieren Sie eine Konversation auf MS Exchange Server in Java
- Verschieben Sie eine Konversation auf MS Exchange Server in Java
- Löschen Sie eine Konversation auf MS Exchange Server in Java
Java-API zum Arbeiten mit Gesprächen auf MS Exchange Server
Um mit den Konversationen auf Microsoft Exchange Server zu arbeiten, verwenden wir Aspose.Email for Java. Es ist eine erstaunliche API, die eine Reihe von Funktionen bietet, um mit MS Exchange Server aus Java-Anwendungen heraus zu arbeiten. Sie können die API entweder herunterladen oder sie mit den folgenden Maven-Konfigurationen installieren.
Repository:
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>http://repository.aspose.com/repo/</url>
</repository>
Abhängigkeit:
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-email</artifactId>
<version>22.2</version>
<classifier>jdk16</classifier>
</dependency>
Finden Sie Konversationen auf MS Exchange Server in Java
Im Folgenden sind die Schritte zum Suchen von Konversationen aus einem Ordner in MS Exchange Server mit Java aufgeführt.
- Erstellen und initialisieren Sie zunächst das NetworkCredential-Objekt mit Benutzername, Kennwort und Domäne.
- Initialisieren Sie dann IEWSClient mit Postfach-URI und NetworkCredential-Objekt.
- Rufen Sie die Methode IEWSClient.findConversations(IEWSClient.getMailboxInfo().getInboxUri()) auf und rufen Sie Konversationen in einem ExchangeConversation-Array ab.
- Durchlaufen Sie schließlich jedes ExchangeConversation-Objekt im Array und rufen Sie seine Details ab.
Das folgende Codebeispiel zeigt, wie Konversationen aus einem Ordner in MS Exchange Server in Java gefunden werden.
// Legen Sie Postfach-URI, Benutzername, Kennwort und Domäneninformationen fest
String mailboxUri = "https://ex2010/ews/exchange.asmx";
String username = "test.exchange";
String password = "pwd";
String domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
System.out.println("Connected to Exchange");
// Konversationselemente im Posteingangsordner suchen
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());
// Alle Konversationen anzeigen
for (ExchangeConversation conversation : conversations) {
// Konversationseigenschaften wie ID und Thema anzeigen
System.out.println("Topic: " + conversation.getConversationTopic());
System.out.println("Flag Status: " + conversation.getFlagStatus());
System.out.println();
}
Kopieren Sie eine Konversation auf MS Exchange Server in Java
Sie können die Konversationen auch von einem Ordner in einen anderen kopieren. Sehen wir uns an, wie Sie Konversationen aus dem Posteingang in den Ordner „Gelöschte Elemente“ von Exchange Server in Java kopieren.
- Erstellen und initialisieren Sie zunächst das NetworkCredential-Objekt mit Benutzername, Kennwort und Domäne.
- Initialisieren Sie dann IEWSClient mit Postfach-URI und NetworkCredential-Objekt.
- Rufen Sie die Methode IEWSClient.findConversations(IEWSClient.getMailboxInfo().getInboxUri())) auf und rufen Sie Konversationen in einem ExchangeConversation-Array ab.
- Durchlaufen Sie jedes ExchangeConversation-Objekt im Array und filtern Sie die erforderlichen Objekte heraus.
- Kopieren Sie schließlich die Konversation mit der Methode IEWSClient.copyConversationItems(ExchangeConversation.getConversationId(), IEWSClient.getMailboxInfo().getDeletedItemsUri()).
Das folgende Codebeispiel zeigt, wie Sie eine Konversation in MS Exchange Server mit Java kopieren.
// Legen Sie Postfach-URI, Benutzername, Kennwort und Domäneninformationen fest
String mailboxUri = "https://ex2010/ews/exchange.asmx";
String username = "test.exchange";
String password = "pwd";
String domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
System.out.println("Connected to Exchange");
// Konversationselemente im Posteingangsordner suchen
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());
// Alle Konversationen anzeigen
for (ExchangeConversation conversation : conversations) {
System.out.println("Topic: " + conversation.getConversationTopic());
// Kopieren Sie das Gesprächselement basierend auf einer bestimmten Bedingung
if (conversation.getConversationTopic().contains("test email")) {
client.copyConversationItems(conversation.getConversationId(), client.getMailboxInfo().getDeletedItemsUri());
System.out.println("Copied the conversation item to another folder");
}
}
Verschieben Sie eine Konversation auf MS Exchange Server in Java
Im vorherigen Abschnitt haben wir einfach Konversationen von einem Ordner in einen anderen kopiert. In bestimmten Fällen müssen Sie eine Konversation jedoch möglicherweise in einen bestimmten Ordner verschieben. Im Folgenden sind die Schritte zum Verschieben einer Konversation in MS Exchange Server in Java aufgeführt.
- Erstellen und initialisieren Sie zunächst das NetworkCredential-Objekt mit Benutzername, Kennwort und Domäne.
- Initialisieren Sie dann IEWSClient mit Postfach-URI und NetworkCredential-Objekt.
- Rufen Sie die Methode IEWSClient.findConversations(IEWSClient.getMailboxInfo().getInboxUri())) auf und rufen Sie Konversationen in einem ExchangeConversation-Array ab.
- Durchlaufen Sie jedes ExchangeConversation-Objekt im Array und filtern Sie die erforderlichen Objekte heraus.
- Verschieben Sie schließlich die Konversation mit der Methode IEWSClient.moveConversationItems(ExchangeConversation.getConversationId(), IEWSClient.getMailboxInfo().getDeletedItemsUri()).
Das folgende Codebeispiel zeigt, wie Sie eine Konversation in MS Exchange Server mithilfe von Java verschieben.
// Legen Sie Postfach-URI, Benutzername, Kennwort und Domäneninformationen fest
String mailboxUri = "https://ex2010/ews/exchange.asmx";
String username = "test.exchange";
String password = "pwd";
String domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
System.out.println("Connected to Exchange");
// Konversationselemente im Posteingangsordner suchen
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());
// Alle Konversationen anzeigen
for (ExchangeConversation conversation : conversations) {
System.out.println("Topic: " + conversation.getConversationTopic());
// Verschieben Sie das Gesprächselement basierend auf einer bestimmten Bedingung
if (conversation.getConversationTopic().contains("test email") == true) {
client.moveConversationItems(conversation.getConversationId(), client.getMailboxInfo().getDeletedItemsUri());
System.out.println("Moved the conversation item to another folder");
}
}
Löschen Sie eine Konversation auf MS Exchange Server in Java
Schauen wir uns zum Schluss noch an, wie man eine Konversation von MS Exchange Server in Java löscht.
- Erstellen und initialisieren Sie zunächst das NetworkCredential-Objekt mit Benutzername, Kennwort und Domäne.
- Initialisieren Sie dann IEWSClient mit Postfach-URI und NetworkCredential-Objekt.
- Rufen Sie die Methode IEWSClient.findConversations(IEWSClient.getMailboxInfo().getInboxUri()) auf und rufen Sie Konversationen in einem ExchangeConversation-Array ab.
- Durchlaufen Sie jedes ExchangeConversation-Objekt im Array und filtern Sie die erforderlichen Objekte heraus.
- Löschen Sie schließlich eine Konversation mit der Methode IEWSClient.deleteConversationItems(ExchangeConversation.getConversationId()).
Das folgende Codebeispiel zeigt, wie Sie eine Konversation von MS Exchange Server in Java löschen.
// Legen Sie Postfach-URI, Benutzername, Kennwort und Domäneninformationen fest
String mailboxUri = "https://ex2010/ews/exchange.asmx";
String username = "test.exchange";
String password = "pwd";
String domain = "ex2010.local";
NetworkCredential credentials = new NetworkCredential(username, password, domain);
IEWSClient client = EWSClient.getEWSClient(mailboxUri, credentials);
System.out.println("Connected to Exchange");
// Konversationselemente im Posteingangsordner suchen
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());
// Alle Konversationen anzeigen
for (ExchangeConversation conversation : conversations) {
System.out.println("Topic: " + conversation.getConversationTopic());
// Löschen Sie das Gesprächselement basierend auf einer bestimmten Bedingung
if (conversation.getConversationTopic().contains("test email") == true) {
client.deleteConversationItems(conversation.getConversationId());
System.out.println("Deleted the conversation item");
}
}
Holen Sie sich eine kostenlose API-Lizenz
Sie können eine kostenlose temporäre Lizenz erhalten, um Aspose.Email für Java ohne Evaluierungseinschränkungen zu verwenden.
Fazit
In diesem Artikel haben Sie gelernt, wie Sie Konversationen in Microsoft Exchange Server mit Java verwalten. Sie haben gesehen, wie Sie eine Konversation auf MS Exchange Server programmgesteuert in Java suchen, kopieren, verschieben und löschen. Darüber hinaus können Sie die Dokumentation durchsuchen, um mehr über Aspose.Email für Java zu erfahren. Sie können Ihre Fragen auch über unser Forum stellen.