界面如下:
直接上代碼如下:
Microsoft.Office.Interop.Outlook.Application myOutlookApp = new Microsoft.Office.Interop.Outlook.Application(); Microsoft.Office.Interop.Outlook.NameSpace myNameSpace = myOutlookApp.GetNamespace("MAPI"); //本地郵箱 Microsoft.Office.Interop.Outlook.MAPIFolder myFolderInbox = myNameSpace.GetDefaultFolder(OlDefaultFolders.olFolderInbox);//獲取收件箱對象,如獲取其他箱可在參數中控制 //Microsoft.Office.Interop.Outlook.MAPIFolder myFolder = myFolderInbox.Folders["xx"];//“xx”為收件箱下的一個文件夾 //Microsoft.Office.Interop.Outlook.MAPIFolder MyParentFolder = myFolderInbox.Parent as Microsoft.Office.Interop.Outlook.MAPIFolder;//獲取收件箱上一級的文件夾對象,以次來獲取與收件箱同級的文件夾 //Microsoft.Office.Interop.Outlook.MAPIFolder MyNewFolder = MyParentFolder.Folders["yy"];//“yy”為與收件箱同級的文件夾 Microsoft.Office.Interop.Outlook.Items myMails = myFolderInbox.Items as Microsoft.Office.Interop.Outlook.Items; Console.WriteLine("mail Count:" + myMails.Count.ToString()); int showCount = 0; for (int index = myMails.Count; index >0; index--) { //倒序才是從最近的收到的郵件顯示 Microsoft.Office.Interop.Outlook.MailItem myMail = myMails[index] as Microsoft.Office.Interop.Outlook.MailItem; Console.WriteLine("======================================================"); Console.WriteLine("Subject:" + myMail.Subject.ToString()); Console.WriteLine("ReceivedTime:" + myMail.ReceivedTime.ToString()); Console.WriteLine("Body:" + myMail.Body.ToString().Substring(0,10)); showCount++; if (showCount > 10) break;//只顯示10封 }
記得添加引 using Microsoft.Office.Interop.Outlook;
說明,
如果是 office2010用14.0.0.0
如果是 office2013/2016用15.0.0.0
代碼如下:https://files.cnblogs.com/files/q149072205/ReadEmailDemo.rar