Microsoft Exchange Server는 이메일, 일정 관리, 연락처 관리 및 기타 협업 서비스를 제공하는 메일 서버입니다. 웹 또는 데스크탑 애플리케이션 내에서 쉽게 연결하고 액세스할 수 있습니다. 따라서 Exchange Server와 통신하고 이메일, 연락처, 캘린더 등에 액세스할 수 있습니다. 이 기사에서는 MS Exchange Server에 연결하고 Java를 사용하여 이메일을 읽는 방법을 배웁니다.

MS Exchange Server와 함께 작동하는 Java API

Aspose.Email for Java는 광범위한 이메일 관리 기능을 제공하는 강력한 API입니다. Java 애플리케이션 내에서 기능이 풍부한 이메일 클라이언트를 구현할 수 있습니다. 또한 API를 사용하면 MS Exchange Server에서 폴더, 하위 폴더, 이메일, 캘린더, 연락처 등에 액세스할 수 있습니다. API의 JAR을 다운로드하거나 다음 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>21.2</version>
    <classifier>jdk16</classifier>
</dependency>

Java에서 MS Exchange Server에 연결

MS Exchange Server를 사용하려면 먼저 연결을 설정해야 합니다. Aspose.Email for Java는 Exchange Server에 연결하는 다음과 같은 방법을 제공합니다.

  • EWS(Exchange 웹 서비스) 사용
  • IMAP(인터넷 메시지 액세스 프로토콜) 사용

EWS를 사용하여 Exchange 서버에 연결

다음은 EWS를 통해 Exchange Server에 연결하는 단계입니다.

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

// Exchange Server에 연결할 IEWSClient 클래스의 인스턴스 만들기
IEWSClient client = EWSClient.getEWSClient("https://exchange.domain.com/ews/Exchange.asmx/", "user", "password", "");

IMAP을 사용하여 Exchange 서버에 연결

IMAP을 사용하여 Exchange Server에 연결하기 전에 IMAP 서비스를 활성화했는지 확인하십시오. 완료되면 다음은 IMAP을 사용하여 Exchange Server에 연결하는 단계입니다.

  • ImapClient 클래스의 인스턴스를 생성하고 주소, 포트, 사용자 이름, 비밀번호로 초기화합니다.
  • ImapClient 개체를 사용하여 메시지, 연락처 등에 액세스합니다.

다음 코드 샘플은 IMAP을 사용하여 Exchange Server에 연결하는 방법을 보여줍니다.

// ImapClient 클래스를 사용하여 Exchange Server에 연결
ImapClient imapClient = new ImapClient("imap.gmail.com", 993, "username", "password");

Java의 MS Exchange Server에서 이메일 읽기

Exchange Server에 연결하면 서버에서 메시지를 읽을 수 있습니다. EWS 또는 IMAP을 사용하여 수행할 수 있습니다.

EWS를 사용하여 MS Exchange Server에서 이메일 읽기

다음은 EWS를 사용하여 Exchange Server에서 이메일을 읽는 단계입니다.

다음 코드 샘플은 Java에서 EWS를 통해 Exchange Server에서 메시지를 읽는 방법을 보여줍니다.

// 자격 증명을 제공하여 ExchangeWebServiceClient 클래스의 인스턴스 만들기
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) {
	String strMessageURI = msgInfo.getUniqueUri();

	// 이제 FetchMessage()를 사용하여 메시지 세부 정보를 가져옵니다.
	MailMessage msg = client.fetchMessage(strMessageURI);

	// 메시지 세부정보 표시
	System.out.println("Subject: " + msg.getSubject());
	//Console.WriteLine("HTML 본문: " + msg.HtmlBody);

	// 얼마나 많은 첨부 파일
	System.out.println("Number of attachments: " + msg.getAttachments().size());

	// 첨부 파일 나열
	for (Attachment att : msg.getAttachments()) {
		System.out.println("Attachment Name: " + att.getName());
	}
}

IMAP을 사용하여 MS Exchange Server에서 이메일 읽기

다음은 IMAP을 사용하여 Exchange Server에서 이메일을 읽는 단계입니다.

다음 코드 샘플은 Java를 사용하여 IMAP을 통해 Exchange Server에서 이메일을 읽는 방법을 보여줍니다.

// ImapClient 클래스를 사용하여 Exchange Server에 연결
ImapClient imapClient = new ImapClient("imap.gmail.com", 993, "username", "password");

// 받은 편지함 폴더 선택
imapClient.selectFolder(ImapFolderInfo.IN_BOX);

// 메시지 목록 가져오기
ImapMessageInfoCollection msgCollection = imapClient.listMessages();
for (ImapMessageInfo msgInfo : msgCollection) {
	System.out.println(msgInfo.getSubject());
}

무료 API 라이선스 받기

임시 라이센스를 얻으면 평가 제한 없이 Java용 Aspose.Email을 사용해 볼 수 있습니다.

라이브 데모

결론

이 기사에서는 Java를 사용하여 MS Exchange Server에 연결하고 이메일을 읽는 방법을 배웠습니다. 또한 EWS 또는 IMAP을 사용하여 MS Exchange Server에 액세스하는 방법을 살펴보았습니다. 문서를 사용하여 Java용 Aspose.Email에 대해 자세히 알아볼 수 있습니다. 질문이나 질문이 있는 경우 포럼을 통해 알려주십시오.

또한보십시오