MSGReader
Biblioteca .NET para procesamiento de archivos MSG de Outlook
Open Source C# .NET API para leer, escribir y convertir archivos MSG y EML de MS Outlook.
MSGReader es una biblioteca C# .NET de código abierto para leer archivos MSG y EML de Outlook. Permite a los desarrolladores leer archivos MSG y EML de Outlook sin utilizar Microsoft Outlook. Los objetos de Outlook más comunes, como correo electrónico, cita, tarea, tarjeta de contacto y nota adhesiva, son totalmente compatibles. También se admiten todos los tipos de cuerpo en archivos MSG, como Texto, HTML, HTML incrustado en RTF y RTF.
Hay algunas opciones disponibles para la manipulación de archivos MSG en MSGReader. Permite a los desarrolladores eliminar los archivos adjuntos de los mensajes de correo electrónico; también pueden guardar el archivo en uno nuevo.
Hay algunas opciones disponibles para la manipulación de archivos MSG en MSGReader. Permite a los desarrolladores eliminar los archivos adjuntos de los mensajes de correo electrónico; también pueden guardar el archivo en uno nuevo.
Primeros pasos con MSGReader
La forma más sencilla de instalar MSGReader es a través de NuGet. Para usarlo desde la consola del administrador de paquetes de Visual Studio, ingrese el siguiente comando.
Aquí está el comando
Install-Package MSGReader
Usar MSGReader desde un lenguaje basado en COM como VB script o VB6.
Primero, debe descargar la última versión y luego abrir el proyecto MSGReader, configurar el objetivo de la plataforma en X86 y luego compilar el código en modo de lanzamiento, obtener el archivo "MsgReader.dll" de la carpeta BuildOutput y copiar el archivo en la ubicación deseada. Después de eso, registre el archivo para la interoperabilidad COM usando el siguiente comando.
Lea y guarde el archivo adjunto de mensaje MSG de Outlook usando .NET
MSGReader permite a los desarrolladores de C# acceder a mensajes de correo electrónico y sus archivos adjuntos de Outlook MSG y EML. Brinda soporte para leer un archivo MSG de Outlook y guardar el cuerpo del mensaje y todos sus archivos adjuntos en una carpeta de salida.
Leer datos MSG - C#
// Read a email .msg file
Message message = new MsgReader.Outlook.Storage.Message("fileformat.msg");
// Read sender
Console.WriteLine("Sender:" + message.Sender);
// Read sent on
Console.WriteLine("SentOn:" + message.SentOn);
// Read recipient to
Console.WriteLine("recipientsTo:" + message.GetEmailRecipients(MsgReader.Outlook.RecipientType.To, false, false));
// Read recipient cc
Console.WriteLine("recipientsCc:" + message.GetEmailRecipients(MsgReader.Outlook.RecipientType.Cc, false, false));
// Read subject
Console.WriteLine("subject:" + message.Subject);
// Read body html
Console.WriteLine("htmlBody:" + message.BodyHtml);
Convierta Outlook MSG como archivo de texto usando .NET API
MSGReader API proporciona las características para guardar MSG de Outlook como un archivo de texto usando la API .NET. Los desarrolladores pueden acceder fácilmente al contenido del archivo MSG. Cree una instancia del cuadro de diálogo Guardar archivo y guarde el mensaje en formato de archivo TXT.
Guardar correo electrónico de Outlook como texto - C#
var fileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory,
"suggestion.msg");
using (var msg = new MsgReader.Outlook.Storage.Message(fileName))
{
var sb = new StringBuilder();
var from = msg.Sender;
var sentOn = msg.SentOn;
var recipientsTo = msg.GetEmailRecipients(
MsgReader.Outlook.Storage.Recipient.RecipientType.To, false, false);
var recipientsCc = msg.GetEmailRecipients(
MsgReader.Outlook.Storage.Recipient.RecipientType.Cc, false, false);
var recipientsBCC = msg.GetEmailRecipients(
MsgReader.Outlook.Storage.Recipient.RecipientType.Bcc, false, false);
var subject = msg.Subject;
sb.AppendLine($" From: {from.DisplayName} {from.Email}");
sb.AppendLine($" Sent: {sentOn.Value}");
sb.AppendLine($" To: {recipientsTo}");
sb.AppendLine($" CC: {recipientsCc}");
sb.AppendLine($" BCC: {recipientsBCC}");
sb.AppendLine($"Subject: {subject}");
sb.AppendLine($" Body:");
sb.AppendLine(msg.BodyText);
File.WriteAllText(Path.Combine(
AppDomain.CurrentDomain.BaseDirectory, "suggestion.txt"),
sb.ToString());
}