【发布时间】:2019-06-18 00:56:08
【问题描述】:
当尝试使用 dll Microsoft.Office.Interop.Outlook 版本 15.0.0.0 读取 .Net 中的 .msg 文件时,在读取大型收件人时遇到问题。
场景:
- 如果 .msg 文件包含较少的收件人,例如少于 300 个,则
To属性中的值显示实际收件人。 - 如果 .msg 文件的收件人超过 300 个,则
MailItem对象的To属性将得到null不显示空白。
图书馆是否有任何限制收件人阅读或我缺少任何东西来处理更多收件人?
Microsoft.Office.Interop.Outlook.Application app = new Microsoft.Office.Interop.Outlook.Application();
Microsoft.Office.Interop.Outlook.Application();
var item = app.Session.OpenSharedItem(msgfilepath) as Microsoft.Office.Interop.Outlook.MailItem;
string message = item.Body
string recipients = item.To
//This To property gets null in case file has large recipients list.
【问题讨论】:
-
尝试遍历 Recipients 集合:stackoverflow.com/questions/28986306/…
-
@TimWilliams。是的,尝试使用 Recipients 属性并获取收件人的集合,但我的实际问题是没有在
To属性中仅针对大型收件人获取它, -
如果收件人的数量很大,那么您需要遍历 Recipients 集合。就是这样,而且效果很好:如果您只想要“收件人”项目,请查看每个收件人的
Type属性。 -
为什么这个问题被标记为 vba 或 outlook-vba?
-
好电话@BrakNicku。提供的代码是 C#。我更改了标签。