Java의 MS Exchange Server에서 폴더 생성 및 삭제

Microsoft Exchange Server는 받은 편지함, 보낼 편지함 등과 같은 다른 폴더에 이메일을 보관합니다. 또한 미리 정의된 폴더 안에 자신만의 폴더나 하위 폴더를 만들 수 있습니다. 경우에 따라 프로그래밍 방식으로 Exchange Server에 사용자 지정 폴더를 만들어야 할 수도 있습니다. 이를 달성하기 위해 이 문서에서는 Java의 MS Exchange Server에서 EWS를 사용하여 폴더 또는 하위 폴더를 생성하거나 삭제하는 방법을 다룹니다.

MS Exchange Server에서 폴더를 만드는 Java API

EWS를 사용하여 MS Exchange Server의 폴더 작업을 위해 Aspose.Email for Java를 사용합니다. Java 응용 프로그램 내에서 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에 폴더를 만드는 단계입니다.

  • MS Exchange Server에 연결하고 IEWSClient에서 EWS 클라이언트 개체를 가져옵니다.
  • 루트 폴더의 이름과 생성하려는 폴더를 지정합니다.
  • IEWSClient.createFolder(String, String) 메소드를 사용하여 폴더를 생성합니다.

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

// 자격 증명을 제공하여 EWSClient 클래스의 인스턴스 생성
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd",
		"domain");

// 받은 편지함 URI 가져오기(받은 편지함에 폴더 만들기)
String inbox = client.getMailboxInfo().getInboxUri();

// 폴더 이름 지정
String folderName1 = "EMAILNET-35054";

try {
	// 폴더 생성
	client.setUseSlashAsFolderSeparator(true);
	client.createFolder(inbox, folderName1);
} catch (Exception e) {
	// 뭔가 해
}

Java의 MS Exchange Server에 하위 폴더 만들기

하위 폴더를 만들려면 먼저 상위 폴더가 있는지 확인해야 합니다. 그렇다면 하위 폴더를 생성하고, 그렇지 않으면 상위 폴더를 먼저 생성합니다. 다음 단계는 Java로 MS Exchange Server에 하위 폴더를 만드는 방법을 보여줍니다.

다음 코드 샘플은 Java로 MS Exchange Server에 하위 폴더를 만드는 방법을 보여줍니다.

// 자격 증명을 제공하여 EWSClient 클래스의 인스턴스 생성
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

// 받은 편지함 URI 가져오기(받은 편지함에 폴더 만들기)
String inbox = client.getMailboxInfo().getInboxUri();

// 폴더 이름 지정
String folderName1 = "EMAILNET-35054";

// 하위 폴더 이름 지정
String subFolderName = "2015";
String folderName2 = folderName1 + "/" + subFolderName;

try
{			
    // 폴더 생성
    client.setUseSlashAsFolderSeparator(true);
    if (!client.folderExists(inbox, folderName1))
    {
        // 폴더 생성
        client.createFolder(inbox, folderName1);
    }

    // 하위 폴더 생성
    client.createFolder(inbox, folderName2);
}
catch(Exception e)
{
    // 뭔가 해
}

Java에서 MS Exchange Server의 폴더 삭제

다음은 Java에서 MS Exchange Server의 폴더를 삭제하는 단계입니다.

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

// 자격 증명을 제공하여 EWSClient 클래스의 인스턴스 생성
IEWSClient client = EWSClient.getEWSClient("https://outlook.office365.com/ews/exchange.asmx", "testUser", "pwd", "domain");

// 받은 편지함 URI 가져오기(받은 편지함에 폴더 만들기)
String inbox = client.getMailboxInfo().getInboxUri();

// 폴더 이름 지정
String folderName1 = "EMAILNET-35054";

ExchangeFolderInfo rootFolderInfo = null;

try
{			
	ExchangeFolderInfo[] referenceToRootFolderInfo = { rootFolderInfo };
	
	// 폴더가 있는지 확인
	boolean outRefCondition0 = client.folderExists(inbox, folderName1, /* out */ referenceToRootFolderInfo);
	rootFolderInfo = referenceToRootFolderInfo[0];

	if (outRefCondition0) {		        
	// 폴더 삭제
	client.deleteFolder(rootFolderInfo.getUri(), true);
	}
}
catch(Exception e)
{
    // 뭔가 해
}

무료 API 라이선스 받기

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

결론

이 기사에서는 Java에서 EWS를 사용하여 Microsoft Exchange Server에서 폴더로 작업하는 방법을 배웠습니다. Java에서 프로그래밍 방식으로 MS Exchange Server에서 특정 폴더를 만들고 삭제하는 방법을 살펴보았습니다. 또한 문서에서 Java용 Aspose.Email에 대해 자세히 알아볼 수 있습니다. 질문이 있는 경우 포럼에 게시할 수 있습니다.

또한보십시오