En este sencillo tutorial, aprenderemos cómo convertir Outlook Email a Word usando C# junto con pasos detallados para configurar el entorno. Observará que para convertir un EML a DOCX se puede usar una API basada en C# y puede usar este ejemplo en cualquiera de los sistemas operativos comúnmente disponibles como Windows, Linux o macOS.
Pasos para convertir el correo electrónico de Outlook a DOCX usando C#
- Configure su aplicación para instalar las bibliotecas Aspose.Email y Aspose.Word desde el administrador de paquetes NuGet
- Cree una instancia del objeto de clase MailMessage para cargar el archivo de correo electrónico en formato MSG o EML de origen
- Guarde el archivo de correo electrónico cargado (EML/MSG) en una transmisión en formato MHTML
- Crea una instancia de LoadFormat en MHTML y crea una instancia del objeto de clase Document para cargar el MHTML intermedio creado en el paso anterior.
- Al usar el método Guardar en C# EML a Word, se realiza la conversión
Mediante el uso de los pasos anteriores en C# Correo electrónico a Word se desarrolla la aplicación de conversión. Cargaremos el archivo MSG o EML de origen desde el disco utilizando el objeto de la clase MailMessage como punto de partida, y luego guardaremos el archivo de correo electrónico en una secuencia en formato MHTML. Finalmente, cargaremos el MHTML intermedio desde una secuencia utilizando el objeto de clase Documento y convertiremos el correo electrónico a DOCX.
Código para convertir el correo electrónico de Outlook a DOCX usando C#
using System.IO; | |
using Aspose.Email; | |
using Aspose.Words; | |
namespace KBEmail | |
{ | |
public class EmlToWord | |
{ | |
public static void ConvertEmailTWord() | |
{ | |
string FilePath = @"C:/TestData/"; | |
// Applying product license to read the MSG file | |
Aspose.Email.License emailLicense = new Aspose.Email.License(); | |
emailLicense.SetLicense(FilePath + "Conholdate.Total.Product.Family.lic"); | |
// Applying the product license to convert MHTML to DOCX | |
Aspose.Words.License wordsLicence = new Aspose.Words.License(); | |
wordsLicence.SetLicense(FilePath + "Conholdate.Total.Product.Family.lic"); | |
using (MemoryStream mhtmlStream = new MemoryStream()) | |
{ | |
// Open the MSG or EML file from the disk | |
MailMessage srcMessage = MailMessage.Load(FilePath + "Message.msg"); | |
// Save email to MHTML | |
srcMessage.Save(mhtmlStream, Aspose.Email.SaveOptions.DefaultMhtml); | |
// Reset the Memory stream position | |
mhtmlStream.Position = 0; | |
// Initialize the LoadOptions to set the LoadFormat to Mhtml | |
Aspose.Words.Loading.LoadOptions loadOptions = new Aspose.Words.Loading.LoadOptions(); | |
loadOptions.LoadFormat = LoadFormat.Mhtml; | |
// Create the Document class object to load the MTHML from MemoryStream | |
Aspose.Words.Document mhtmlDocument = new Aspose.Words.Document(mhtmlStream, loadOptions); | |
// Save the MHTML to DOCX using C# | |
mhtmlDocument.Save(FilePath + "SaveEmailAsDoc.docx"); | |
} | |
} | |
} | |
} |
En el ejemplo anterior, para convertir EML a Word C# se usa con la ayuda de una interfaz API simple y pasos claramente definidos. El código anterior se puede utilizar para archivos de correo electrónico en formatos EML y MSG. También se puede guardar el MHTML cargado en imágenes o salidas PDF.
En este tema, aprendimos cómo convertir el correo electrónico de Outlook a Docx usando la API basada en C#. Si desea convertir MBOX a PST, consulte el artículo sobre cómo convertir MBOX a archivo PST en C#.