Arbeiten Sie mit Gesprächen auf MS Exchange Server in Java

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

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.

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.

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.

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.

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.

Siehe auch