Create PST Files in C#

PST(개인 저장소 테이블) 파일은 Outlook 데이터를 관리하는 데 중요한 구성 요소로, 이메일, 연락처, 캘린더 및 기타 항목을 저장하는 데 유용합니다. C# .NET 개발의 영역에서 저장소 파일을 생성하고 관리하는 과정은 다양한 애플리케이션에 필수적입니다.

이 글에서는 C# .NET을 사용하여 PST 파일을 생성하는 방법을 탐구합니다. 빈 PST 저장소 생성, 폴더 및 하위 폴더 추가, 표준 및 일반 폴더 통합, 마지막으로 PST 파일에 이메일 및 Outlook 항목 추가를 다룰 것입니다.

PST 파일을 생성하고 채우기 위한 C# API

C#에서 PST 형식의 저장소 파일을 작업하기 위해 Aspose.Email for .NET을 사용할 것입니다. 이 포괄적인 라이브러리는 .NET 개발자를 위해 설계되었으며, 이메일 관련 데이터를 처리하기 위한 강력한 도구를 제공합니다. 직관적인 API를 통해 개발자는 PST 저장소 구조를 쉽게 생성하고 읽고 조작할 수 있으며, 폴더, 하위 폴더 및 표준 Outlook 폴더 추가 기능을 포함합니다. 이 라이브러리는 다양한 형식(MSG, EML 및 MHTML) 간 이메일을 파싱, 생성, 전송, 수신 및 변환하는 기능을 제공하여 이메일 메시지 처리를 단순화합니다. Aspose.Email은 개발자가 .NET 애플리케이션 내에서 이메일 관련 작업을 효율적으로 관리할 수 있도록 하여 기능성과 성능을 향상시키고 최종 사용자에게 뛰어난 이메일 처리 기능을 제공합니다.

API의 기능을 활용하려면 DLL을 다운로드하거나 다음 명령어를 사용하여 NuGet에서 설치할 수 있습니다:

PM> Install-Package Aspose.Email

최소 빈 PST 저장소 생성

시작하기 위해 빈 개인 저장소를 생성합니다. 이는 항목이 없는 PST 파일을 초기화하는 것을 포함합니다. 아래의 코드 샘플은 “sample.pst"라는 이름의 새로운 파일을 Unicode 파일 형식 버전으로 설정하는 기본 구조를 설정하는 방법을 보여줍니다. 새로운 PST 파일을 생성하려면 PersonalStorage.Create 메서드를 사용합니다.

// Initialize the PersonalStorage instance
using (var pst = PersonalStorage.Create("sample.pst", FileFormatVersion.Unicode))
{
// Add your code for further operations
}
view raw CreatePst.cs hosted with ❤ by GitHub

참고: 최소 PST 크기는 256 Kb이며, 루트 폴더와 삭제된 항목 폴더를 포함합니다.

폴더 및 하위 폴더 추가

빈 PST 저장소를 생성한 후, 다음 단계는 데이터를 효율적으로 정리하기 위해 폴더와 하위 폴더를 추가하는 것입니다. 다음 하위 섹션을 살펴보고 작업을 수행하기 위해 다음 코드 샘플을 시도해 보세요.

표준 폴더 추가

받은 편지함, 보낸 편지함, 보낸 항목, 초안 등과 같은 표준 폴더를 추가하는 것은 Aspose.Email로 간단합니다. 다음 코드 샘플은 “sample.pst"라는 PST 내에 “Inbox"라는 새 폴더를 만드는 방법을 보여줍니다. 이 코드는 PersonalStorage 클래스를 사용하여 PST 파일을 열고, CreatePredefinedFolder() 메서드를 호출하여 수신 항목을 위한 표준 폴더를 생성합니다. 이 폴더는 일반적으로 이메일 클라이언트의 받은 편지함 폴더를 나타내는 미리 정의된 폴더 유형 StandardIpmFolder.inbox을 사용하여 생성됩니다.

  1. 새로운 PersonalStorage 객체 초기화.
  2. PersonalStorage 인스턴스(pst)의 CreatePredefinedFolder 메서드를 사용하여 “Inbox"라는 이름의 표준 폴더 생성 및 StandardIpmFolder.Inbox 폴더 유형 지정.
using (var pst = PersonalStorage.Create("sample.pst", FileFormatVersion.Unicode))
{
// Create a standard folder (Inbox)
var inboxFolder = pst.CreatePredefinedFolder("Inbox", StandardIpmFolder.Inbox);
}

다음 목록은 새 PST 파일에 추가할 수 있는 표준 폴더로 구성되어 있습니다:

  • 받은 편지함
  • 보낸 편지함
  • 캘린더
  • 연락처
  • 저널
  • 메모
  • 작업
  • 동기화 문제
  • 정크 이메일
  • RSS 피드

일반 폴더 추가

표준 폴더 외에도 사용자는 이메일의 더 나은 조직을 위해 특정 이름을 가진 사용자 정의 폴더를 자주 생성합니다. 다음 코드 스니펫은 PST 파일의 루트에 사용자 정의 폴더를 추가하는 방법을 보여줍니다.

  1. 새로운 PersonalStorage 객체 초기화.
  2. PersonalStorage 인스턴스의 RootFolder 속성의 AddSubFolder 메서드를 사용하여 사용자 정의 폴더 생성.

“Custom Folder"를 생성한 후 AddSubFolder 메서드를 다시 사용하여 그 안에 하위 폴더를 생성할 수 있습니다. 하위 폴더의 원하는 이름을 AddSubFolder 메서드의 매개변수로 제공하세요.

using (var pst = PersonalStorage.Create("sample.pst", FileFormatVersion.Unicode))
{
// Create a custom folder
var someFolder = pst.RootFolder.AddSubFolder("SomeFolder");
// Create a subfolder to the "Custom Folder"
var subFolder = customFolder.AddSubFolder("SubFolder");
}

이메일 및 Outlook 항목 추가

구조가 설정되면 이제 PST 파일에 이메일 및 기타 Outlook 항목을 채울 수 있습니다. 이는 이메일, 약속, 연락처, 작업 등을 생성하고 파일 내의 적절한 폴더에 추가하는 것을 포함합니다. 몇 가지 예를 살펴보겠습니다.

새 이메일 추가

아래 코드 샘플은 PST 파일 내의 “Inbox” 폴더에 새 이메일 메시지를 추가하는 방법을 보여줍니다. 이 코드는 다음 단계로 구성됩니다:

  1. 새로운 PersonalStorage 객체 초기화.
  2. PersonalStorage 인스턴스의 RootFolder 속성에서 GetSubFolder 메서드를 사용하여 받은 편지함 폴더 검색.
  3. 새로운 MapiMessage 객체 생성.
  4. inboxFolder 객체의 AddMessage 메서드를 사용하여 방금 생성한 메시지(message)를 받은 편지함 폴더에 추가합니다.
using (var pst = PersonalStorage.Create("sample.pst", FileFormatVersion.Unicode))
{
// Access the folder to add items
var inboxFolder = pst.RootFolder.GetSubFolder("Inbox");
// Create a new message
var message = new MapiMessage("from@example.com", "to@example.com", "Subject", "Body");
// Add the message to the Inbox folder
inboxFolder.AddMessage(message);
}
view raw AddNewEmails.cs hosted with ❤ by GitHub

Outlook 항목 추가

다음 코드 샘플은 새 PST 파일에 연락처를 추가하는 방법을 보여줍니다. 이는 새로운 개인 저장소 파일을 생성하고, 그에 표준 연락처 폴더를 추가하며, VCF 파일에서 연락처를 로드하고, 연락처를 연락처 폴더에 추가하는 과정을 설명합니다. 이 코드는 다음 단계로 구성됩니다:

  1. 새로운 PersonalStorage 객체 초기화.
  2. CreatePredefinedFolder 메서드를 사용하여 표준 폴더 생성 및 StandardIpmFolder.Contacts 폴더 유형 지정.
  3. MapiContact.FromVCard 메서드를 사용하여 VCF 파일에서 연락처 로드. 이 메서드는 연락처 정보를 나타내는 MapiContact 객체를 생성합니다.
  4. AddMapiMessageItem 메서드를 사용하여 로드된 연락처를 연락처 폴더에 추가합니다.
using (var pst = PersonalStorage.Create("sample.pst", FileFormatVersion.Unicode))
{
// Create a standard folder (Contacts)
var contactsFolder = pst.CreatePredefinedFolder("My Contacts", StandardIpmFolder.Contacts);
// Load a contact from vcf file
var contact = MapiContact.FromVCard("Contact.vcf");
// Add the contact to the folder
contactsFolder.AddMapiMessageItem(contact);
}

결론

이 튜토리얼에서는 Aspose.Email 라이브러리를 사용하여 C# .NET으로 PST 파일을 생성하는 방법을 살펴보았습니다. 빈 PST 저장소를 생성하는 것부터 폴더, 하위 폴더 및 다양한 Outlook 항목을 추가하는 것까지, 이 라이브러리는 PST 파일 조작을 위한 포괄적인 기능 세트를 제공합니다. 이러한 기능을 C# .NET 애플리케이션에 통합하면 Outlook 데이터를 효율적으로 관리할 수 있으며, 소프트웨어 솔루션의 견고성과 다재다능성을 향상시킬 수 있습니다.

또한, 이 라이브러리는 이메일 생성, 추출, 파싱, 변환 및 조작을 위한 다양한 기능을 제공하며, 통합 프로세스를 간소화하기 위한 포괄적인 문서 및 코드 샘플을 통해 개발자가 .NET 애플리케이션 내에서 이메일 관련 솔루션을 쉽게 구현할 수 있도록 합니다.

고급 API와 함께 지속적으로 무료 리소스에 접근할 수 있습니다:

  • 지원 포럼 - 모든 질문에 대한 답변을 얻을 수 있는 대규모 커뮤니티
  • 블로그 - 최신 기능에 대한 귀중한 정보
  • 문서 - 튜토리얼, 코드 샘플 및 API 참조에 대한 모범 사례
  • 이메일을 보기, 변환, 병합, 파싱, 헤더 분석, 워터마크 추가 등의 무료

Aspose.Email은 개발자가 모든 문제를 극복하고 애플리케이션 내에서 API의 잠재력을 극대화할 수 있는 자원을 제공합니다.

참고 문헌