【发布时间】:2016-06-10 20:20:59
【问题描述】:
我对 Outlook 编程非常陌生。
我有一个邮箱,让我们在 Outlook 中输入“ImportantMail”。
我正在开发一个 Windows 窗体应用程序,它应该在该邮箱中找到所有未读电子邮件并循环访问它们以访问主题、发件人和内容。
有什么简单的方法可以实现吗?
我已经尝试过我找到的多个教程,但对于像我这样的新手来说太混乱了......
提前致谢!
【问题讨论】:
我对 Outlook 编程非常陌生。
我有一个邮箱,让我们在 Outlook 中输入“ImportantMail”。
我正在开发一个 Windows 窗体应用程序,它应该在该邮箱中找到所有未读电子邮件并循环访问它们以访问主题、发件人和内容。
有什么简单的方法可以实现吗?
我已经尝试过我找到的多个教程,但对于像我这样的新手来说太混乱了......
提前致谢!
【问题讨论】:
在我的情况下,我正在向后工作,因为我正在移动邮件,所以要完成这项工作,你需要反向进行,但是..这确实不是一件难解决的事情 - 我考虑了会议请求等。
for (int t = objFolder.Items.Count; t >= 1; t--)
{
try
{
if (!(objFolder.Items[t] is MailItem)) continue;
MailItem m = objFolder.Items[t];
if (m.Unread) { do_stuff(); }
}
catch { }
}
【讨论】:
如果 ImportantMail 邮箱已在当前配置文件中,请从 Application.Session.Stores 集合中检索该存储并调用 Store.GetDefaultFolder(olFolderInbox)。如果它是当前配置文件中尚未存在的 Exchange 委托存储,请调用 Application.Session.CreateRecipient,然后调用 Application.Session.GetSharedDefaultFolder(..., olFolderInbox)。
读取 MAPIFolder.Items 属性,然后将 Items.Find/FindNext 或 Items.Restrict 与 [Unread] = true 之类的查询一起使用。
【讨论】: