我似乎无法让这个工作。我试图遍历我创建的名为“SlaughterPDFs”的文件夹中的所有邮件项目并删除电子邮件。
以下是我正在使用的代码。在这段代码中,我只是想从outlook'Drafts'文件夹中删除邮件。
public void deleteMails()
{
Application tempApp = new Application();
MAPIFolder tempInbox = default(MAPIFolder);
Items JunkItems = default(Items);
tempInbox = tempApp.GetNamespace("MAPI").
GetDefaultFolder(OlDefaultFolders.olFolderDrafts);
JunkItems = tempInbox.Items;
MailItem DeleteMail = default(MailItem);
foreach (object newMail_loopVariable in JunkItems)
{
DeleteMail = (MailItem)newMail_loopVariable;
DeleteMail.Delete();
}
JunkItems = null;
tempInbox = null;
tempApp = null;
}
任何人都知道我做错了什么?或者我应该将这些电子邮件移动到新文件夹。
答案 0 :(得分:3)
我不知道你在哪里遇到问题。 如果用以下while循环替换for循环,它应该删除文件夹中的所有电子邮件。
while (tempInbox.Items.Count > 0)
{
DeleteMail = (MailItem)tempInbox.Items.GetFirst();
DeleteMail.Delete();
}
如果您在访问我要使用的文件夹时遇到问题(假设SlaughterPDFs是收件箱的子文件夹):
tempInbox = tempApp.GetNamespace("MAPI").
GetDefaultFolder(OlDefaultFolders.olFolderInbox);
tempInbox = tempInbox.Folders["SlaughterPDFs"];