Java의 MS Exchange Server에서 대화 작업

종종 이메일은 스레드를 형성하는 여러 메시지(또는 회신)로 구성됩니다. Microsoft Exchange Server에서는 이러한 스레드를 대화라고 합니다. 프로그래밍 방식으로 MS Exchange Server를 사용하는 동안 대화에 액세스하고 관리해야 할 수 있습니다. 이를 달성하기 위해 이 기사에서는 Java로 Microsoft Exchange Server에서 대화를 찾고, 복사하고, 이동하고, 삭제하는 방법을 배웁니다.

MS Exchange Server에서 대화 작업을 위한 Java API

Microsoft Exchange Server에서 대화를 작업하기 위해 Aspose.Email for Java를 사용합니다. Java 응용 프로그램 내에서 MS Exchange Server와 함께 작동할 수 있는 많은 기능을 제공하는 놀라운 API입니다. API를 다운로드하거나 다음 Maven 구성을 사용하여 설치할 수 있습니다.

저장소:

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

의존:

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

Java의 MS Exchange Server에서 대화 찾기

다음은 Java를 사용하여 MS Exchange Server의 폴더에서 대화를 찾는 단계입니다.

다음 코드 샘플은 Java의 MS Exchange Server에 있는 폴더에서 대화를 찾는 방법을 보여줍니다.

// 사서함 URI, 사용자 이름, 암호, 도메인 정보 설정
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");

// 받은 편지함 폴더에서 대화 항목 찾기
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());

// 모든 대화 표시
for (ExchangeConversation conversation : conversations) {
	// Id 및 Topic과 같은 대화 속성 표시
	System.out.println("Topic: " + conversation.getConversationTopic());
	System.out.println("Flag Status: " + conversation.getFlagStatus());
	System.out.println();
}

Java의 MS Exchange Server에서 대화 복사

한 폴더에서 다른 폴더로 대화를 복사할 수도 있습니다. 자바에서 받은 편지함에서 Exchange Server의 지운 편지함 폴더로 대화를 복사하는 방법을 살펴보겠습니다.

다음 코드 샘플은 Java를 사용하여 MS Exchange Server에서 대화를 복사하는 방법을 보여줍니다.

// 사서함 URI, 사용자 이름, 암호, 도메인 정보 설정
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");

// 받은 편지함 폴더에서 대화 항목 찾기
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());

// 모든 대화 표시
for (ExchangeConversation conversation : conversations) {
	System.out.println("Topic: " + conversation.getConversationTopic());
    
	// 일부 조건에 따라 대화 항목 복사
    if (conversation.getConversationTopic().contains("test email")) {
        client.copyConversationItems(conversation.getConversationId(), client.getMailboxInfo().getDeletedItemsUri());
        System.out.println("Copied the conversation item to another folder");
    }
}

Java의 MS Exchange Server에서 대화 이동

이전 섹션에서는 한 폴더에서 다른 폴더로 대화를 복사했습니다. 그러나 경우에 따라 대화를 특정 폴더로 이동해야 할 수도 있습니다. 다음은 Java의 MS Exchange Server에서 대화를 이동하는 단계입니다.

다음 코드 샘플은 Java를 사용하여 MS Exchange Server에서 대화를 이동하는 방법을 보여줍니다.

// 사서함 URI, 사용자 이름, 암호, 도메인 정보 설정
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");

// 받은 편지함 폴더에서 대화 항목 찾기
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());

// 모든 대화 표시
for (ExchangeConversation conversation : conversations) {
	System.out.println("Topic: " + conversation.getConversationTopic());
    
	// 특정 조건에 따라 대화 항목 이동
    if (conversation.getConversationTopic().contains("test email") == true) {
        client.moveConversationItems(conversation.getConversationId(), client.getMailboxInfo().getDeletedItemsUri());
        System.out.println("Moved the conversation item to another folder");
    }
}

Java의 MS Exchange Server에서 대화 삭제

마지막으로 자바에서 MS Exchange Server에서 대화를 삭제하는 방법을 살펴보겠습니다.

다음 코드 샘플은 Java의 MS Exchange Server에서 대화를 삭제하는 방법을 보여줍니다.

// 사서함 URI, 사용자 이름, 암호, 도메인 정보 설정
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");

// 받은 편지함 폴더에서 대화 항목 찾기
ExchangeConversation[] conversations = client.findConversations(client.getMailboxInfo().getInboxUri());

// 모든 대화 표시
for (ExchangeConversation conversation : conversations) {
	System.out.println("Topic: " + conversation.getConversationTopic());
    
	// 특정 조건에 따라 대화 항목 삭제
    if (conversation.getConversationTopic().contains("test email") == true) {
        client.deleteConversationItems(conversation.getConversationId());
        System.out.println("Deleted the conversation item");
    }
}

무료 API 라이선스 받기

평가 제한 없이 Java용 Aspose.Email을 사용할 수 있는 무료 임시 라이선스를 얻을 수 있습니다.

결론

이 기사에서는 Java를 사용하여 Microsoft Exchange Server에서 대화를 관리하는 방법을 배웠습니다. Java에서 프로그래밍 방식으로 MS Exchange Server에서 대화를 찾고, 복사하고, 이동하고, 삭제하는 방법을 살펴보았습니다. 또한 문서를 탐색하여 Java용 Aspose.Email에 대해 자세히 알아볼 수 있습니다. 또한 포럼을 통해 질문할 수 있습니다.

또한보십시오