Aspose.Email for Java를 사용하면 이메일, 연락처 관리, 일정 관리 등과 같은 Microsoft Exchange Server 서비스를 사용할 수 있습니다. 이전 게시물에서 본 적이 있습니다. Java 응용 프로그램 내에서 프로그래밍 방식으로 MS Exchange Server의 전자 메일을 읽는 방법. 그러나 경우에 따라 Exchange Server의 한 폴더에서 다른 폴더로 이메일을 이동해야 할 수도 있습니다. 이 기사에서는 자바에서 MS Exchange Server의 특정 폴더로 이메일을 이동하는 방법을 배웁니다.
- Microsoft Exchange Server에서 이메일을 이동하는 Java API
- 기존 이메일을 MS Exchange Server의 폴더로 이동
- MS Exchange Server의 폴더로 새 이메일 이동
Microsoft Exchange Server에서 이메일을 이동하는 Java API
Aspose.Email for Java는 복잡한 코드를 작성하지 않고도 MS Exchange Server와 함께 작동할 수 있는 강력한 이메일 API입니다. 이 기사에서는 이 API를 사용하여 전자 메일을 MS Exchange Server 사서함의 특정 폴더로 이동합니다. 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의 특정 폴더로 이메일을 이동하는 단계입니다.
- 먼저 사용자 이름, 암호, 도메인 및 URI를 사용하여 IEWSClient 개체를 초기화합니다.
- 그런 다음 IEWSClient.listMessages(IEWSClient.getMailboxInfo().getInboxUri()) 메서드를 사용하여 ExchangeMessageInfoCollection 개체의 전자 메일 메시지 목록을 가져옵니다.
- 그런 다음 각 ExchangeMessageInfo 메시지를 반복하고 필요한 메시지를 필터링합니다.
- 그런 다음 ExchangeMessageInfo.getUniqueUri() 메서드를 사용하여 이동할 이메일 메시지의 URI를 가져옵니다.
- 마지막으로 IEWSClient.copyItem(String URI, IEWSClient.getMailboxInfo().getOutboxUri()) 메서드를 사용하여 이메일 메시지를 이동합니다.
다음 코드 샘플은 Java에서 전자 메일을 MS Exchange Server의 폴더로 이동하는 방법을 보여줍니다.
try {
// 자격 증명을 제공하여 EWSClient 클래스의 인스턴스 생성
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser",
"pwd", "domain");
// ListMessages 메서드를 호출하여 받은 편지함의 메시지 정보를 나열합니다.
ExchangeMessageInfoCollection msgCollection = client.listMessages(client.getMailboxInfo().getInboxUri());
// 컬렉션을 반복하여 메시지 URI를 가져옵니다.
for (ExchangeMessageInfo msgInfo : msgCollection) {
if (msgInfo.getFrom().getAddress().contains("jhon.vick")) {
String strMessageURI = msgInfo.getUniqueUri();
// 특정 폴더에 복사
String newMessageUri = client.copyItem(strMessageURI, client.getMailboxInfo().getOutboxUri());
}
}
} catch (java.lang.RuntimeException ex) {
System.out.println(ex.getMessage());
}
MS Exchange Server의 폴더로 새 이메일 이동
새로 생성된 이메일을 MS Exchange Server의 특정 폴더로 이동할 수도 있습니다. 다음은 이 작업을 수행하는 단계입니다.
- 먼저 사용자 이름, 암호, 도메인 및 URI를 사용하여 IEWSClient 개체를 초기화합니다.
- 그런 다음 MailMessage 클래스를 사용하여 새 메시지를 만듭니다.
- 그런 다음 IEWSClient.appendMessage(MailMessage) 메서드에서 반환된 이메일 메시지의 URI를 가져옵니다.
- 마지막으로 IEWSClient.copyItem(String URI, IEWSClient.getMailboxInfo().getOutboxUri()) 메서드를 사용하여 이메일 메시지를 이동합니다.
다음 코드 샘플은 새 전자 메일 메시지를 MS Exchange Server의 폴더로 이동하는 방법을 보여줍니다.
try {
// 자격 증명을 제공하여 EWSClient 클래스의 인스턴스 생성
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser",
"pwd", "domain");
// 새 메시지 만들기
MailMessage message = new MailMessage("from@domain.com", "to@domain.com",
"EMAILNET-34997 - " + UUID.randomUUID().toString(),
"EMAILNET-34997 Exchange: Copy a message and get reference to the new Copy item");
// URI 가져오기
String messageUri = client.appendMessage(message);
// 폴더로 이동
String newMessageUri = client.copyItem(messageUri, client.getMailboxInfo().getDeletedItemsUri());
} catch (java.lang.RuntimeException ex) {
System.out.println(ex.getMessage());
}
무료 API 라이선스 받기
평가 제한 없이 Java용 Aspose.Email을 사용하기 위해 무료 임시 라이선스를 얻을 수 있습니다.
결론
이 기사에서는 Java를 사용하여 Microsoft Exchange Server의 특정 폴더로 이메일을 이동하는 방법을 배웠습니다. 또한 새로 생성된 전자 메일 메시지를 Exchange Server의 특정 폴더로 이동하는 방법을 살펴보았습니다. 또한 문서를 탐색하여 Java용 Aspose.Email에 대해 자세히 알아볼 수 있습니다. 또한 포럼을 통해 질문할 수 있습니다.