edd*_*cat 4 c# outlook interop visual-studio
我正在尝试使用Microsoft.Office.Interop.Outlook从我的Outlook收件箱中检索电子邮件.这是我的代码:
Application app = new Application();
NameSpace ns = app.Session;
MAPIFolder inbox = ns.GetDefaultFolder(OlDefaultFolders.olFolderInbox);
Items items = inbox.Items;
foreach (Microsoft.Office.Interop.Outlook.MailItem mail in items)
{
if (mail as MailItem != null)
{
Console.WriteLine(mail.Subject.ToString());
Console.WriteLine(mail.Body.ToString());
Console.ReadKey();
}
}
Run Code Online (Sandbox Code Playgroud)
当我这样做,它的工作 - 有点.它只显示一封电子邮件.应该有三个.它显示的电子邮件是那里最老的...为什么我不能得到这三个?除了MailItem还有其他类型的邮件会在我的收件箱中吗?
我有同样的问题 - 我的解决方法只是创建一个List<MailItem>循环.确保电子邮件不在子文件夹中,否则将无法找到它们.
Outlook.Application app = new Outlook.Application();
Outlook.NameSpace outlookNs = app.GetNamespace("MAPI");
Outlook.MAPIFolder emailFolder = outlookNs.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox);
List<MailItem> ReceivedEmail = new List<MailItem>();
foreach (Outlook.MailItem mail in emailFolder.Items)
ReceivedEmail.Add(mail);
foreach (MailItem mail in ReceivedEmail)
{
//do stuff
}
Run Code Online (Sandbox Code Playgroud)