从OLM存储中提取消息更灵活!Aspose.Email v20.3新版上线 | 附下载

Aspose.Email for .NET更新至v20.3,将流接口添加到OLMClient,允许使用ExchangeQueryBuilder类按电子邮件附件名称查询,欢迎下载体验。

Aspose.Email for .NET是一套完整的电子邮件处理控件,用于构建跨平台应用程序,无需使用Microsoft Outlook即可创建,操作,转换和传输电子邮件。API提供电子邮件处理功能,例如添加,提取或删除邮件对象中的附件,通过添加或删除收件人或更改主题等来自定义邮件头。

Aspose.Email for .NET更新至v20.3,将流接口添加到OLMClient,允许使用ExchangeQueryBuilder类按电子邮件附件名称查询,欢迎下载体验。

新增与改善

key 概述 类别
EMAILNET-39716 将流接口添加到OLMClient 功能
EMAILNET-39712 提取OLM文件超时 功能
EMAILNET-39731 使用ExchangeQueryBuilder类按电子邮件附件名称查询 增强功能
EMAILNET-39753 提取了附件名称中编码错误的字符 增强功能
EMAILNET-39755 QueryBuilder返回错误的电子邮件数量 Bug修复
EMAILNET-39707 无法将MapiPropertyContainer强制转换为MapiMessage Bug修复
EMAILNET-39759 从OLM存储读取邮件附件时出现异常 Bug修复
EMAILNET-39762 在将MSG转换为MHTML时,引发了异常 Bug修复
EMAILNET-39763 MailMessage.CheckSignature()在评估模式下引发异常 Bug修复
EMAILNET-39754 从Office 365帐户向PST添加邮件时,未维护已读/未读状态 Bug修复
EMAILNET-39765 EML转换不正确 Bug修复
EMAILNET-39750 Aspose.Email不显示收件人和抄送问题 Bug修复
EMAILNET-39748 主题中的泰语字符呈现为PST上传日历事件时 Bug修复

OLM文件是 Outlook for Mac 的 存储文件格式。OLM文件正在存储本地数据,例如电子邮件,附件,便笺,日历数据,联系人,任务,日记等。

OLM文件仅由Mac Outlook使用。Windows版Outlook无法访问或打开它。Windows版本的Outlook仅支持用于存储数据的PST文件格式。尽管如此,仍然可以通过Aspose.Email for .NET使用OLM文件。

现在,从OLM存储中提取消息更加灵活和快捷。

一个OlmMessageInfo类已被添加,其提供了有关在存储的消息的简要信息。该OlmFolder类延长通过以下方法:

//gets the subfolder by nameOlmFolder GetSubFolder(string subfolderName, bool ignoreCase);//exposes the enumerator, which supports an iteration of MapiMessages in the current folderIEnumerable<MapiMessage> EnumerateMapiMessages();//exposes the enumerator, which supports an iteration of OlmMessageInfo's in the current folderIEnumerable<OlmMessageInfo> EnumerateMessages();//exposes the enumerator, which supports an iteration of OlmMessageInfo's within a given rangeIEnumerable<OlmMessageInfo> EnumerateMessages(int startIndex, int count);//exposes the enumerator, which supports an iteration of OlmMessageInfo's by search criteriaIEnumerable<OlmMessageInfo> EnumerateMessages(MailQuery query);

该 OlmStorage 类延长通过以下方法:

//load OLM storage from file static OlmStorage FromFile(string fileName);  //load OLM from stream static OlmStorage FromStream(Stream stream);  //gets the folder hierarchy ListGetFolders();  //gets the folder by name OlmFolder GetFolder(string name, bool ignoreCase);  //extracts the MapiMessage from OLM storage MapiMessage ExtractMapiMessage(OlmMessageInfo messageInfo);

以下示例显示了新方法的使用:

// Enumerates all messages in a given folderusing (OlmStorage olm = OlmStorage.FromFile(fileName)){    OlmFolder inbox = olm.GetFolder("inbox", true);    foreach (OlmMessageInfo messageInfo in inbox.EnumerateMessages())    {        Console.WriteLine(messageInfo.Subject);    }}// Enumerates a range of messages in a given folderusing (OlmStorage olm = OlmStorage.FromFile(fileName)){    OlmFolder inbox = olm.GetFolder("inbox", true);    int startIndex = 10;    int count = 100;    foreach (OlmMessageInfo messageInfo in inbox.EnumerateMessages(startIndex, count))    {        Console.WriteLine(messageInfo.Subject);    }}// Enumerates messages by search criteriausing (OlmStorage olm = OlmStorage.FromFile(fileName)){    OlmFolder inbox = olm.GetFolder("inbox", true);     MailQueryBuilder mailQueryBuilder = new MailQueryBuilder();    mailQueryBuilder.Subject.Contains("invitation");    mailQueryBuilder.From.Contains("Mark");    foreach (OlmMessageInfo messageInfo in inbox.EnumerateMessages(mailQueryBuilder.GetQuery()))    {        Console.WriteLine(messageInfo.Subject);    }}// Enumerates all messages and the extraction of some of themusing (OlmStorage olm = OlmStorage.FromFile(fileName)){    OlmFolder inbox = olm.GetFolder("inbox", true);    foreach (OlmMessageInfo messageInfo in inbox.EnumerateMessages()    {      if (messageInfo.HasAttachments)      {        MapiMessage msg = olm.ExtractMessage(messageInfo);      }    }}

还想要更多吗可以点击阅读【2019 · Aspose最新资源整合】查找需要的教程资源。如果您有任何疑问或需求,请随时加入Aspose技术交流群(),我们很高兴为您提供查询和咨询

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年3月10日
下一篇 2020年3月10日

相关推荐

发表回复

登录后才能评论