2011-12-03 80 views
10

我嘗試連接到我的Outlook郵件時使用以下代碼。現在,我必須做錯事,因爲我試圖獲取收件箱郵件,而且我總是收到0封郵件(如果情況並非如此)。這是我的代碼用C讀取Outlook郵件#

Microsoft.Office.Interop.Outlook.NameSpace nameSpace = application.GetNamespace("MAPI"); 
nameSpace.Logon("", "", Missing.Value, Missing.Value); 

inboxFolder = nameSpace.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox); 
Console.WriteLine("Folders: {0}", inboxFolder.Folders.Count); 

我的Outlook配置文件中有幾個電子郵件帳戶。當我寫了下面的

Console.WriteLine("Accounts: {0}",nameSpace.Accounts.Count); 
Console.WriteLine("Name: {0}", nameSpace.Accounts[1].DisplayName); 

正確顯示賬戶的總數量,所以是我真的想訪問的帳戶(指數1)的名稱。現在,問題是我需要訪問該帳戶中的特定文件夾。我該怎麼做呢?

回答

16

我可以解決這個問題!實際上這很容易。以下是我如何訪問所需的文件夾:

// [email protected] is the name of my account 
// Unsent mails is the name of the folder I wanted to access 
inboxFolder = nameSpace.Folders["[email protected]"].Folders["Unsent mails"]; 

foreach (Microsoft.Office.Interop.Outlook.MailItem mailItem in inboxFolder.Items) 
{ 
    if (mailItem.UnRead) // I only process the mail if unread 
    { 
     Console.WriteLine("Accounts: {0}", mailItem.Body); 
    }  
} 
相關問題