ذخیره ایمیل به‌صورت PDF

این مقاله نشان می‌دهد چگونه یک پیام ایمیل را به PDF با استفاده از Aspose.Email تبدیل کنیم. Aspose.Email برای .NET با پروتکل‌های شبکه و ویژگی‌های Microsoft Outlook سروکار دارد و نمی‌تواند به‌صورت مستقیم به PDF تبدیل شود. برای رفع این مشکل، نمونه‌های این مقاله از Aspose.Email برای تبدیل پیام ایمیل به استریم MHTML استفاده می‌کنند و سپس با Aspose.Words برای .NET استریم MHTML را بارگذاری کرده و به PDF ذخیره می‌کنند. یک پیام ایمیل می‌تواند حاوی ضمیمه‌ها باشد. از آنجا که هر ضمیمه می‌تواند نوع رسانه‌ای متفاوتی داشته باشد، Aspose.Email در حین تبدیل به MHTML این ضمیمه‌ها را نادیده می‌گیرد؛ یعنی فقط تصاویر Inline در پیام جزئی از MHTML خواهند بود و هر ضمیمهٔ معمولی نادیده گرفته می‌شود.

تبدیل پیام ایمیل به PDF

کد زیر نشان می‌دهد تبدیل پیام‌های ایمیل به PDF با استفاده از Aspose.Email به‌همراه Aspose.Words برای .NET. این شامل مراحل زیر است:

  1. بارگذاری پیام ایمیل با استفاده از MailMessage
  2. ذخیره پیام ایمیل به MemoryStream به صورت MHTML
  3. بارگذاری جریان با استفاده از Aspose.Words
  4. ذخیره پیام به عنوان PDF

پیام ایمیل منبع به شرح زیر قابل مشاهده است:

todo:image_alt_text

PDF تبدیل‌شده همان‌طور که در تصویر زیر نشان داده شده است:

todo:image_alt_text

قطعه کد زیر نشان می‌دهد چگونه پیام‌های ایمیل را به PDF تبدیل کنید.

string dataDir = RunExamples.GetDataDir_KnowledgeBase();
MailMessage mailMsg = MailMessage.Load(dataDir + "message3.msg");
MemoryStream ms = new MemoryStream();
mailMsg.Save(ms, Aspose.Email.SaveOptions.DefaultMhtml);

// create an instance of LoadOptions and set the LoadFormat to Mhtml
var loadOptions = new Aspose.Words.Loading.LoadOptions();
loadOptions.LoadFormat = LoadFormat.Mhtml;

// create an instance of Document and load the MTHML from MemoryStream
var document = new Aspose.Words.Document(ms, loadOptions);

// create an instance of HtmlSaveOptions and set the SaveFormat to Html
var saveOptions = new Aspose.Words.Saving.PdfSaveOptions();
document.Save(dataDir + "SaveEmailAsPDF_out.pdf", saveOptions);