종종 이메일은 스레드를 형성하는 여러 메시지(또는 회신)로 구성됩니다. Microsoft Exchange Server에서는 이러한 스레드를 대화라고 합니다. 프로그래밍 방식으로 MS Exchange Server를 사용하는 동안 대화에 액세스하고 관리해야 할 수 있습니다. 이를 달성하기 위해 이 기사에서는 Java로 Microsoft Exchange Server에서 대화를 찾고, 복사하고, 이동하고, 삭제하는 방법을 배웁니다.
- MS Exchange Server에서 대화 작업을 위한 Java API
- Java의 MS Exchange Server에서 대화 찾기
- Java의 MS Exchange Server에서 대화 복사
- Java의 MS Exchange Server에서 대화 이동
- Java의 MS 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의 폴더에서 대화를 찾는 단계입니다.
- 먼저 사용자 이름, 암호 및 도메인을 사용하여 NetworkCredential 개체를 만들고 초기화합니다.
- 그런 다음 사서함 URI와 NetworkCredential 개체로 IEWSClient를 초기화합니다.
- IEWSClient.findConversations(IEWSClient.getMailboxInfo().getInboxUri()) 메서드를 호출하고 ExchangeConversation 배열에서 대화를 가져옵니다.
- 마지막으로 배열의 각 ExchangeConversation 개체를 반복하고 세부 정보를 검색합니다.
다음 코드 샘플은 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의 지운 편지함 폴더로 대화를 복사하는 방법을 살펴보겠습니다.
- 먼저 사용자 이름, 암호 및 도메인을 사용하여 NetworkCredential 개체를 만들고 초기화합니다.
- 그런 다음 사서함 URI와 NetworkCredential 개체로 IEWSClient를 초기화합니다.
- IEWSClient.findConversations(IEWSClient.getMailboxInfo().getInboxUri())) 메서드를 호출하고 ExchangeConversation 배열에서 대화를 가져옵니다.
- 배열의 각 ExchangeConversation 개체를 반복하고 필요한 개체를 필터링합니다.
- 마지막으로 IEWSClient.copyConversationItems(ExchangeConversation.getConversationId(), IEWSClient.getMailboxInfo().getDeletedItemsUri()) 메서드를 사용하여 대화를 복사합니다.
다음 코드 샘플은 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에서 대화를 이동하는 단계입니다.
- 먼저 사용자 이름, 암호 및 도메인을 사용하여 NetworkCredential 개체를 만들고 초기화합니다.
- 그런 다음 사서함 URI와 NetworkCredential 개체로 IEWSClient를 초기화합니다.
- IEWSClient.findConversations(IEWSClient.getMailboxInfo().getInboxUri())) 메서드를 호출하고 ExchangeConversation 배열에서 대화를 가져옵니다.
- 배열의 각 ExchangeConversation 개체를 반복하고 필요한 개체를 필터링합니다.
- 마지막으로 IEWSClient.moveConversationItems(ExchangeConversation.getConversationId(), IEWSClient.getMailboxInfo().getDeletedItemsUri()) 메서드를 사용하여 대화를 이동합니다.
다음 코드 샘플은 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에서 대화를 삭제하는 방법을 살펴보겠습니다.
- 먼저 사용자 이름, 암호 및 도메인을 사용하여 NetworkCredential 개체를 만들고 초기화합니다.
- 그런 다음 사서함 URI와 NetworkCredential 개체로 IEWSClient를 초기화합니다.
- IEWSClient.findConversations(IEWSClient.getMailboxInfo().getInboxUri()) 메서드를 호출하고 ExchangeConversation 배열에서 대화를 가져옵니다.
- 배열의 각 ExchangeConversation 개체를 반복하고 필요한 개체를 필터링합니다.
- 마지막으로 IEWSClient.deleteConversationItems(ExchangeConversation.getConversationId()) 메서드를 사용하여 대화를 삭제합니다.
다음 코드 샘플은 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에 대해 자세히 알아볼 수 있습니다. 또한 포럼을 통해 질문할 수 있습니다.