Guardar un correo electrónico como PDF
Este artículo muestra cómo convertir un mensaje de correo electrónico a PDF usando Aspose.Email. Aspose.Email para .NET maneja protocolos de red y funciones de Microsoft Outlook, y no puede manejar la conversión directa a PDF. Para superar esto, los ejemplos en este artículo usan Aspose.Email para convertir el mensaje de correo a un flujo MHTML y luego usan Aspose.Words para .NET para cargar el flujo MHTML y guardarlo como PDF. Un mensaje de correo puede contener también adjuntos. Dado que cada adjunto puede ser de diferentes tipos de medios, Aspose.Email ignora estos adjuntos al convertir a MHTML, es decir, solo las imágenes inline en un mensaje forman parte del MHTML y cualquier adjunto regular se ignora.
Convirtiendo mensaje de correo electrónico a PDF
El siguiente código muestra la conversión de mensajes de correo electrónico a PDF usando Aspose.Email en combinación con Aspose.Words para .NET. Esto implica los siguientes pasos:
- Cargar el mensaje de correo usando MailMessage
- Guardar el mensaje de correo en MemoryStream como MHTML
- Cargar el flujo usando Aspose.Words
- Guardar el mensaje como PDF
El mensaje de correo fuente se puede ver de la siguiente manera:

El PDF convertido se muestra en la siguiente imagen:

El siguiente fragmento de código muestra cómo convertir mensajes de correo electrónico a 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);