Lectura de mensajes de correo electrónico de la biblioteca de documentos de Microsoft SharePoint

Este artículo muestra cómo leer mensajes de correo electrónico de una biblioteca de documentos de Microsoft SharePoint. Para acceder a archivos en una biblioteca de documentos de SharePoint, el SDK de SharePoint debe estar instalado en el sistema. El SDK proporciona la API necesaria para iniciar sesión y acceder a los archivos de la biblioteca de documentos.

Lectura de mensajes de correo electrónico desde SharePoint

Los ejemplos de programación a continuación suponen que un archivo de mensaje de Microsoft Outlook (.msg) ya está almacenado en la carpeta SharedDocument de la biblioteca de documentos de SharePoint. Se utiliza el SDK de SharePoint para obtener el archivo de mensaje en un flujo y luego pasar este flujo a una instancia de la clase MailMessage de Aspose.Email. La clase MailMessage carga el flujo y analiza el archivo de mensaje de Outlook. Después de eso, acceda a las propiedades de la clase MailMessage, por ejemplo, asunto, cuerpo de texto, cuerpo HTML, etc., para utilizar la información en un proyecto de Visual Studio. Para obtener información sobre cómo instalar y configurar Microsoft SharePoint Server y el SDK, consulte las secciones respectivas en la biblioteca de MSDN. El siguiente fragmento de código muestra cómo leer mensajes de correo electrónico desde SharePoint.

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
// Private members
private SPSite site = null;
private SPWeb web = null;
private void EstablishSharepoint()
{
site = new SPSite("http://localhost/Site1");
web = site.OpenWeb();
}
private void button2_Click(object sender, EventArgs e)
{
SPSecurity.CodeToRunElevated elevatedGetSite = new SPSecurity.CodeToRunElevated(EstablishSharepoint);
SPSecurity.RunWithElevatedPrivileges(elevatedGetSite);
// Path to the MSG file stored in Shared Documents folder
SPFile msgFile = web.GetFile("Shared Documents/Test.msg");
// Read the file into a memory stream.
MemoryStream fileStream = new MemoryStream();
byte[] currentFileContent = msgFile.OpenBinary();
fileStream.Write(currentFileContent, 0, currentFileContent.Length);
fileStream.Position = 0;
// Create an instance of the MailMessage class and pass the memory stream of the MSG file to it
MailMessage msg = MailMessage.Load(fileStream, MessageFormat.Msg);
fileStream.Close();
fileStream.Dispose();
// Access the MailMessage class' public properties
Console.WriteLine("Subject: " + msg.Subject);
Console.WriteLine("From: " + msg.From.ToString());
Console.WriteLine("Text Body: " + msg.TextBody);
}