将电子邮件保存为 PDF
Contents
[
Hide
]
本文展示了如何使用 Aspose.Email 将电子邮件转换为 PDF。Aspose.Email for .NET 处理网络协议和 Microsoft Outlook 功能,无法直接转换为 PDF。为了解决此问题,本文示例使用 Aspose.Email 将邮件转换为 MHTML 流,然后使用 Aspose.Words for .NET 加载该 MHTML 流并保存为 PDF。邮件可能包含附件。由于每个附件的媒体类型可能不同,Aspose.Email 在转换为 MHTML 时会忽略这些附件,即仅将消息中的内联图片包含在 MHTML 中,普通附件将被忽略。
将电子邮件转换为 PDF
以下代码展示了使用 Aspose.Email 与 Aspose.Words for .NET 将电子邮件转换为 PDF 的步骤:
- 使用以下方式加载电子邮件消息 MailMessage
- 将电子邮件保存为 MemoryStream 且格式为 MHTML
- 使用 Aspose.Words 加载流
- 将消息保存为 PDF
源电子邮件消息如下所示:

转换后的 PDF 如下图所示:

下面的代码片段演示如何将电子邮件转换为 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);