【发布时间】:2016-04-05 23:50:02
【问题描述】:
我试图在某一天查找一封电子邮件并保存附件。我的代码如下。
我遇到的问题是,尽管我在收件箱中看到它们,但在调试收件箱中的所有项目都不是 MailItem 类型时。我错过了什么?
更新
在调试中,当我查看 oFld.Items.Count 时,它显示 4890,这是我收件箱中的电子邮件数量。认为我没有正确使用 item.GetType 部分
public void SaveAttachment(DateTime dateEmail, string emailSubject, string saveLocation)
{
Outlook.Application oApp = new Outlook.Application();
Outlook.NameSpace oNs = oApp.GetNamespace("MAPI");
Outlook.MAPIFolder oFld = oNs.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);
foreach (object item in oFld.Items)
{
if (item.GetType() == typeof(Outlook.MailItem))
{
Outlook.MailItem oMail = (Outlook.MailItem)item;
if (oMail.ReceivedTime < dateEmail)
return;
if (oMail.ReceivedTime.Date == dateEmail)
{
if (oMail.Subject.Contains(emailSubject))
{
for (int i = 0; i < oMail.Attachments.Count; i++)
oMail.Attachments[i].SaveAsFile(saveLocation + oMail.Attachments[i].FileName);
}
}
}
}
}
【问题讨论】:
-
他们是什么类型的?
-
system.__ComObject 当我在即时窗口中输入 item.GetType().ToString() 时
标签: c# .net outlook-addin