Práce s konverzacemi na MS Exchange Server v Javě

E-mail se často skládá z více zpráv (nebo odpovědí), které tvoří vlákno. V Microsoft Exchange Server jsou tato vlákna označována jako konverzace. Při programové práci s MS Exchange Server budete možná potřebovat přístup a správu konverzací. Abyste toho dosáhli, v tomto článku se dozvíte, jak najít, kopírovat, přesouvat a odstraňovat konverzace na Microsoft Exchange Server v Javě.

Java API pro práci s konverzacemi na MS Exchange Server

Pro práci s konverzacemi na Microsoft Exchange Server použijeme Aspose.Email for Java. Je to úžasné API, které poskytuje spoustu funkcí pro práci s MS Exchange Server z aplikací Java. Rozhraní API si můžete stáhnout nebo jej nainstalovat pomocí následujících konfigurací Maven.

úložiště:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>

Závislost:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-email</artifactId>
    <version>22.2</version>
    <classifier>jdk16</classifier>
</dependency>

Najděte konverzace na MS Exchange Server v Javě

Následují kroky k vyhledání konverzací ze složky na MS Exchange Server pomocí Java.

Následující ukázka kódu ukazuje, jak najít konverzace ze složky na MS Exchange Server v Javě.

// Nastavte URI poštovní schránky, uživatelské jméno, heslo, informace o doméně
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");

// Najděte položky konverzace ve složce doručené pošty
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());

// Zobrazit všechny konverzace
for (ExchangeConversation conversation : conversations) {
	// Zobrazte vlastnosti konverzace, jako je ID a téma
	System.out.println("Topic: " + conversation.getConversationTopic());
	System.out.println("Flag Status: " + conversation.getFlagStatus());
	System.out.println();
}

Zkopírujte konverzaci na MS Exchange Server v Javě

Můžete také zkopírovat konverzace z jedné složky do druhé. Pojďme se podívat na to, jak zkopírovat konverzace z doručené pošty do složky smazaných položek Exchange Server v Javě.

Následující ukázka kódu ukazuje, jak zkopírovat konverzaci na MS Exchange Server pomocí Java.

// Nastavte URI poštovní schránky, uživatelské jméno, heslo, informace o doméně
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");

// Najděte položky konverzace ve složce doručené pošty
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());

// Zobrazit všechny konverzace
for (ExchangeConversation conversation : conversations) {
	System.out.println("Topic: " + conversation.getConversationTopic());
    
	// Zkopírujte položku konverzace na základě nějaké podmínky
    if (conversation.getConversationTopic().contains("test email")) {
        client.copyConversationItems(conversation.getConversationId(), client.getMailboxInfo().getDeletedItemsUri());
        System.out.println("Copied the conversation item to another folder");
    }
}

Přesunout konverzaci na MS Exchange Server v Javě

V předchozí části jsme pouze zkopírovali konverzace z jedné složky do druhé. V určitých případech však může být nutné přesunout konverzaci do konkrétní složky. Následují kroky k přesunutí konverzace na MS Exchange Server v Javě.

Následující ukázka kódu ukazuje, jak přesunout konverzaci na MS Exchange Server pomocí Java.

// Nastavte URI poštovní schránky, uživatelské jméno, heslo, informace o doméně
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");

// Najděte položky konverzace ve složce doručené pošty
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());

// Zobrazit všechny konverzace
for (ExchangeConversation conversation : conversations) {
	System.out.println("Topic: " + conversation.getConversationTopic());
    
	// Přesunout položku konverzace na základě nějaké podmínky
    if (conversation.getConversationTopic().contains("test email") == true) {
        client.moveConversationItems(conversation.getConversationId(), client.getMailboxInfo().getDeletedItemsUri());
        System.out.println("Moved the conversation item to another folder");
    }
}

Smazat konverzaci na MS Exchange Server v Javě

Nakonec se podívejme, jak odstranit konverzaci z MS Exchange Server v Javě.

Následující ukázka kódu ukazuje, jak odstranit konverzaci z MS Exchange Server v Javě.

// Nastavte URI poštovní schránky, uživatelské jméno, heslo, informace o doméně
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");

// Najděte položky konverzace ve složce doručené pošty
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());

// Zobrazit všechny konverzace
for (ExchangeConversation conversation : conversations) {
	System.out.println("Topic: " + conversation.getConversationTopic());
    
	// Odstraňte položku konverzace na základě určité podmínky
    if (conversation.getConversationTopic().contains("test email") == true) {
        client.deleteConversationItems(conversation.getConversationId());
        System.out.println("Deleted the conversation item");
    }
}

Získejte bezplatnou licenci API

Můžete získat bezplatnou dočasnou licenci k používání Aspose.Email pro Java bez omezení hodnocení.

Závěr

V tomto článku jste se naučili, jak spravovat konverzace na Microsoft Exchange Server pomocí Java. Viděli jste, jak najít, zkopírovat, přesunout a odstranit konverzaci na MS Exchange Server programově v Javě. Kromě toho můžete prozkoumat dokumentaci a přečíst si více o Aspose.Email pro Java. Také se můžete ptát na naše fórum.

Viz také