Create PST Files in C#

فایل‌های PST (جدول ذخیره‌سازی شخصی) به عنوان یک جزء حیاتی برای مدیریت داده‌های Outlook عمل می‌کنند و ذخیره‌سازی برای ایمیل‌ها، مخاطبین، تقویم‌ها و سایر اقلام را تسهیل می‌کنند. در حوزه توسعه C# .NET، فرآیند ایجاد و مدیریت فایل‌های ذخیره‌سازی برای برنامه‌های مختلف بسیار مهم است.

در این مقاله، نحوه ایجاد فایل‌های PST با استفاده از C# .NET را بررسی خواهیم کرد. ما ایجاد فضای ذخیره‌سازی خالی PST، افزودن پوشه‌ها و زیرپوشه‌ها، ادغام پوشه‌های استاندارد و عادی، و در نهایت، افزودن ایمیل‌ها و اقلام Outlook به فایل PST را پوشش خواهیم داد.

API C# برای ایجاد و پر کردن فایل‌های PST

برای کار با فایل‌های ذخیره‌سازی به فرمت PST در C#، ما از 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” با نسخه فرمت فایل یونیکد تنظیم کنید. برای ایجاد یک فایل 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 کیلوبایت است و شامل یک پوشه ریشه و یک پوشه اقلام حذف شده است.

افزودن پوشه‌ها و زیرپوشه‌ها

پس از اینکه فضای ذخیره‌سازی PST خالی را داریم، مرحله بعدی افزودن پوشه‌ها و زیرپوشه‌ها برای سازماندهی مؤثر داده‌های ما است. به بخش‌های زیر توجه کنید و سعی کنید از نمونه‌های کد زیر برای انجام این کار استفاده کنید.

افزودن پوشه‌های استاندارد

افزودن پوشه‌های استاندارد مانند صندوق ورودی، صندوق خروجی، اقلام ارسال شده، پیش‌نویس‌ها و غیره با Aspose.Email بسیار آسان است. نمونه کد زیر نشان می‌دهد که چگونه یک پوشه جدید به نام “صندوق ورودی” در یک PST به نام “sample.pst” ایجاد کنید. کد از کلاس PersonalStorage برای باز کردن فایل PST استفاده می‌کند و سپس از روش CreatePredefinedFolder() برای ایجاد یک پوشه استاندارد برای اقلام ورودی استفاده می‌کند. این پوشه با استفاده از نوع پوشه از پیش تعریف شده StandardIpmFolder.inbox ایجاد می‌شود که به طور معمول نمایانگر پوشه صندوق ورودی در کلاینت‌های ایمیل است.

  1. یک شیء جدید PersonalStorage را راه‌اندازی کنید.
  2. از روش CreatePredefinedFolder شیء PersonalStorage (pst) استفاده کنید تا یک پوشه استاندارد به نام “صندوق ورودی” ایجاد کنید و نوع پوشه 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. از روش AddSubFolder ویژگی RootFolder شیء PersonalStorage برای ایجاد یک پوشه سفارشی استفاده کنید.

پس از ایجاد “پوشه سفارشی”، می‌توانید دوباره از روش 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 اضافه کنید. کد شامل مراحل زیر است:

  1. یک شیء جدید PersonalStorage را راه‌اندازی کنید.
  2. پوشه صندوق ورودی را با استفاده از روش GetSubFolder در ویژگی RootFolder شیء PersonalStorage بازیابی کنید.
  3. یک شیء جدید MapiMessage را ایجاد کنید.
  4. از روش AddMessage روی شیء inboxFolder استفاده کنید تا پیام تازه ایجاد شده (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);
}

نتیجه‌گیری

در این آموزش، ما بررسی کردیم که چگونه می‌توان فایل‌های PST را با استفاده از C# .NET و کتابخانه Aspose.Email ایجاد کرد. از ایجاد فضای ذخیره‌سازی خالی PST تا افزودن پوشه‌ها، زیرپوشه‌ها و اقلام مختلف Outlook، این کتابخانه مجموعه‌ای جامع از ویژگی‌ها را برای دستکاری فایل PST فراهم می‌کند. ادغام این قابلیت‌ها در برنامه‌های C# .NET شما به شما این امکان را می‌دهد که داده‌های Outlook را به طور مؤثر مدیریت کنید و استحکام و انعطاف‌پذیری راه‌حل‌های نرم‌افزاری خود را افزایش دهید.

علاوه بر این، کتابخانه طیف وسیعی از ویژگی‌ها را برای ایجاد، استخراج، تجزیه، تبدیل و دستکاری ایمیل‌ها ارائه می‌دهد که از مستندات جامع و نمونه‌های کد برای تسهیل فرآیند ادغام برخوردار است و این کار را برای توسعه‌دهندگان آسان می‌کند تا راه‌حل‌های مربوط به ایمیل را در برنامه‌های .NET خود پیاده‌سازی کنند.

به همراه API پیشرفته، می‌توانید به منابع رایگان مداوم دسترسی داشته باشید:

  • انجمن پشتیبانی - یک جامعه بزرگ برای دریافت پاسخ به تمام سوالات شما
  • وبلاگ - اطلاعات ارزشمندی درباره ویژگی‌های به‌روز
  • مستندات - آموزش‌ها، نمونه‌های کد، و بهترین شیوه‌ها با دسترسی به مراجع API
  • برنامه‌های رایگان برای مشاهده یا تبدیل، ادغام یا تجزیه ایمیل‌ها، تحلیل هدرها، افزودن واترمارک و غیره

Aspose.Email اطمینان می‌دهد که توسعه‌دهندگان منابع لازم برای عبور از چالش‌ها و حداکثر کردن پتانسیل API در برنامه‌های خود را دارند.

همچنین ببینید