Чтение email-сообщений из библиотеки документов Microsoft SharePoint

В этой статье показано, как читать email-сообщения из библиотеки документов Microsoft SharePoint. Для доступа к файлам в библиотеке документов SharePoint необходимо установить SDK SharePoint на систему. SDK предоставляет API, необходимый для входа и доступа к файлам из библиотеки документов.

Чтение email-сообщений из SharePoint

Примеры программного кода ниже предполагают, что файл сообщения Microsoft Outlook (.msg) уже сохранен в папке SharedDocument библиотеки документов SharePoint. SDK SharePoint используется для получения файла сообщения в поток, а затем этот поток передается экземпляру класса Aspose.Email’s MailMessage. Класс MailMessage загружает поток и анализирует файл сообщения Outlook. После этого можно получить доступ к свойствам класса MailMessage, таким как тема, текстовое тело, HTML-тело и др., чтобы использовать информацию в проекте Visual Studio. Для получения информации о том, как установить и настроить Microsoft SharePoint Server и SDK, пожалуйста, обратитесь к соответствующим разделам в библиотеке MSDN. Следующий код показывает, как читать email-сообщения из 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);
}