Mbox Storage Files

EML 메시지를 PST 파일로 가져오는 것은 일반적인 요구 사항으로, 특히 이메일 클라이언트 간에 마이그레이션하거나 저장 및 백업 목적으로 이메일을 아카이빙하는 사용자에게 유용합니다. PST 형식은 콘텐츠의 구조, 서식 및 첨부 파일을 보존하여 Outlook 응용 프로그램 내에서 원활한 통합 및 관리를 가능하게 합니다. 이 Microsoft 파일 형식의 주요 장점은 이메일 데이터의 로컬 아카이브를 만들 수 있는 기능으로, 오프라인에서도 이메일, 연락처 및 기타 관련 정보를 관리하고 접근할 수 있습니다. 이 기사에서는 진보된 C# 라이브러리를 사용하여 EML을 PST로 쉽게 및 효율적으로 가져오는 방법을 살펴보겠습니다.

.NET API로 EML 관리하기

Aspose.Email for .NET은 .NET 응용 프로그램에서 이메일 메시지 및 메일 서버로 작업하기 위한 다양한 기능을 제공하는 강력하고 다재다능한 API입니다. 이 API는 인기 있는 이메일 프로토콜 및 형식과의 원활한 통합을 제공하여 개발자가 이메일 메시지를 쉽게 생성하고 조작할 수 있게 합니다.

Aspose.Email의 주목할 만한 기능 중 하나는 EML에서 PST로 전송을 포함하여 서로 다른 형식 간에 이메일을 변환하는 광범위한 지원입니다. Aspose.Email에서 제공하는 풍부한 클래스 및 메서드를 활용하여 개발자는 첨부 파일 처리, 폴더 관리, 다양한 형식 간의 이메일 변환과 같은 복잡한 이메일 관련 작업을 수행할 수 있습니다. 코드를 시작하기 전에, C# 프로젝트에 라이브러리를 통합해야 합니다. Aspose 웹사이트에서 다운로드 하거나 NuGet을 사용하여 쉽게 얻을 수 있습니다.

Install-Package Aspose.Email

라이브러리가 프로젝트의 일부가 되면 코딩을 시작할 준비가 됩니다.

단일 EML 메시지를 PST 파일로 가져오기

Aspose.Email 포괄적인 API는 PST 파일에 EML 메시지를 추가하기 위한 간단하고 직관적인 코드 샘플과 단계를 제공합니다:

  1. Create 메서드를 사용하여 개인 저장 파일을 생성할 때 파일 이름과 형식 버전을 매개변수로 지정합니다.
  2. CreatePredefinedFolder 메서드를 사용하여 PST 파일 내에 미리 정의된 “받은편지함” 폴더를 생성합니다. “받은편지함"을 폴더 이름으로, StandardIpmFolder.Inbox를 폴더 유형으로 지정합니다.
  3. MapiMessage 클래스의 ‘Load’ 메서드를 사용하여 파일에서 이메일 메시지를 로드합니다. 여기서 메시지의 이름과 EmlLoadOptions의 인스턴스를 매개변수로 지정합니다.
  4. FolderInfo 클래스의 AddMessage 메서드를 사용하여 PST 파일 내의 이전에 생성된 받은편지함 폴더에 로드된 이메일 메시지를 추가합니다.

결과적으로 “test.pst"라는 이름의 새로운 개인 저장 파일이 생성되고, “test.eml” 파일에서 로드된 메시지가 받은편지함 폴더에 추가되어 추가 조작이나 저장을 위해 사용 가능합니다.

여러 EML 메시지를 PST 파일로 가져오기

Aspose.Email은 폴더에서 여러 메시지를 PST 파일에 추가하는 것을 가능하게 합니다. AddMessages 메서드를 사용하여 저장 파일 내의 받은편지함 폴더에 여러 EML 메시지를 가져올 수 있습니다. 다음 코드 샘플은 이 기능을 프로젝트에 구현하는 방법을 보여줍니다:

  1. Create 메서드를 사용하여 개인 저장 파일을 생성할 때 파일 이름과 형식 버전을 매개변수로 지정합니다.
  2. CreatePredefinedFolder 메서드를 사용하여 PST 파일 내에 미리 정의된 “받은편지함” 폴더를 생성합니다. “받은편지함"을 폴더 이름으로, StandardIpmFolder.Inbox를 폴더 유형으로 지정합니다.
  3. FolderInfo 클래스의 AddMessages 메서드를 사용하여 PST 파일 내의 이전에 생성된 받은편지함 폴더에 하나 이상의 이메일 메시지를 추가합니다. 이때 지정된 폴더 경로에서 가져올 메시지를 나타내는 MapiMessageEnumerator 객체를 지정합니다.

여기서는 ‘MapiMessageEnumerator’를 활용하여 소스 폴더의 EML 파일을 반복하고 PST 파일에 추가합니다.

MapiMessage 열거자 구현

Aspose.Email을 사용하면 IEnumerable 인터페이스를 구현하는 ‘MapiMessageEnumerator’ 클래스를 정의할 수 있습니다. 이 클래스는 지정된 폴더에 저장된 이메일 메시지를 나타내는 MapiMessage 객체의 컬렉션을 반복할 수 있게 해줍니다. MapiMessageEnumerator 내의 중첩된 Enumerator 클래스는 반복자로 작동하며, EML 파일을 MapiMessage 객체로 로드하고 반복 프로세스를 관리합니다. 이 클래스에는 파일을 반복하고 리소스를 해제하며 열거자를 재설정하는 메서드가 포함되어 있습니다.

다음 코드 샘플은 프로그램적으로 MapiMessages 컬렉션을 반복하는 방법을 보여줍니다:

  1. .eml 파일이 있는 디렉토리를 나타내는 ‘folderPath’ 매개변수를 받아들이는 ‘MapiMessageEnumerator’ 클래스를 정의합니다.
  2. ‘GetEnumerator’ 메서드를 사용하여 ‘Enumerator’ 클래스의 새 인스턴스를 생성하고 반환합니다. 이때 폴더 경로를 전달합니다.
  3. ‘folderPath’를 필드에 저장하고 ‘IEnumerator’를 사용하여 폴더 내의 파일 경로를 반복합니다.
  4. ‘Enumerator’ 클래스가 생성될 때 ‘folderPath’를 초기화하고 ‘Reset()’ 메서드를 호출하여 ‘fileEnumerator’를 준비합니다.
  5. ‘Current’ 속성을 구현하고 IEnumerator의 Current 속성을 명시적으로 구현합니다.
  6. ‘Dispose’ 메서드를 제공하여 ‘fileEnumerator’와 현재 ‘MapiMessage’를 해제합니다.
  7. ‘MoveNext’ 메서드를 사용하여 파일 경로를 반복하고 파일에서 ‘MapiMessage’를 로드하려고 시도하며 발생하는 오류를 기록하거나 처리합니다.
  8. ‘Reset’ 메서드에서 ‘fileEnumerator’를 해제하고 ‘folderPath’ 내의 .eml 파일을 열거하여 새로 생성합니다.

결론

결론적으로, 이메일 클라이언트 간에 마이그레이션하거나 저장 및 백업 목적으로 이메일 데이터를 아카이빙하는 경우, Aspose.Email for .NET은 EML 파일을 PST 형식으로 전송하기 위한 신뢰할 수 있고 기능이 풍부한 솔루션을 제공합니다. 직관적인 코드 샘플과 포괄적인 문서를 통해 개발자는 이 필수 기능을 프로젝트에 쉽게 구현할 수 있습니다. 추가로, 무료 포럼에서는 구현 중 발생할 수 있는 질문이나 문제에 대한 커뮤니티 지원 시스템을 제공합니다. API의 고급 코드 기능에 대한 자세한 정보는 참조 자료를 방문해 주세요.

참고 사항