c# - Microsoft.Office.Interop.Outlook GetFolderFromID
问题描述
我可以从 Outlook 获取默认文件夹没问题,但我正在努力获取自定义文件夹。我想从 Outlook 中名为“Mass Archive”的文件夹中获取电子邮件,但我很难理解如何使用:
.GetFolderFromID()
根据我收集的信息,它采用的第一个参数是文件夹的名称,例如.GetFolderFromID("Mass Archive")
但我无法弄清楚我应该将什么作为第二个参数的对象。
我真的是新手,所以请向我解释一些事情,就像我很笨一样。
outlookApplication = new Application();
outlookNameSpace = outlookApplication.GetNamespace("MAPI");
//inboxFolder = outlookNameSpace.GetDefaultFolder(OlDefaultFolders.olFolderDeletedItems);
inboxFolder = outlookNameSpace.GetFolderFromID("Mass Archive", "Mass Archive");
mailItems = inboxFolder.Items;
foreach (MailItem item in mailItems)
{
emailDetails = new OutlookEmails
{
EmailFrom = item.SenderEmailAddress,
EmailSubject = item.Subject,
EmailBody = item.Body,
ReceivedTime = item.ReceivedTime
};
listEmailDetails.Add(emailDetails);
ReleaseComObject(item);
}
解决方案
您无需搜索 - 您可以使用MAPIFolder.Folders["The Folder Name"]
(MAPIFolder
父文件夹在哪里)打开它 - 您只需要知道它相对于默认文件夹的位置。例如,如果它与收件箱处于同一级别,您可以使用 检索收件箱文件夹GetDefaultFolder(olFolderInbox)
,然后使用Inbox.Parent.Folders["The Folder Name"]
。
推荐阅读
- mysql - 用户变量未在子查询中更新
- c# - 初始化列表
内联定义 - elixir - 枚举地图时如何编写传递给 Enum.map 的函数?
- hybris - 将 Hybris Impex Remove 与灵活搜索相结合
- java - Android - 创建文件适用于 Android 5 但不适用于 Android 6 或更高版本
- c# - 从另一个类更改表单上的标签
- wordpress - 我可以在代码中为我的自定义帖子类型设置注册的自定义分类吗?
- ios - 在 iOS 设备上以编程方式访问我的应用程序的 Apple 崩溃日志
- javascript - POST 与 Postman 一起工作,但不是通过 JavaScript 中的 fetch
- python - OpenCV 找不到但可以导入