2016-01-21 128 views
1

我想從Outlook中使用C#(不是我的默認收件箱)中的特定文件夾和另一個收件箱中簡單地閱讀和打印電子郵件的內容。我發現很難在網上找到這樣的例子,並且自己失敗了。我知道如何打印默認帳戶的電子郵件,而不是額外的。C# - 從Outlook中的非默認帳戶讀取電子郵件

我在這裏的代碼只是遍歷所有收件箱的列表並打印出他們的名字。我想讀的是集合中的第一個元素。我很感謝這個問題的任何幫助。謝謝。

using System; 
using System.Collections; 
using Microsoft.Office.Interop.Outlook; 

public class StorageReplies { 

    public static void Main() { 
     Application app = new Microsoft.Office.Interop.Outlook.Application(); 
     _NameSpace ns = app.GetNamespace("MAPI"); 

     Folders folders = ns.Folders; 

     foreach(MAPIFolder f in folders) { 
      Console.WriteLine(f.Name); 
     } 
    } 
} 

回答

1

你可以獲取每個文件夾中存儲,然後調用GetDefaultFolder方法來獲得的收件箱文件夾,這樣該店鋪:

foreach (MAPIFolder f in folders) 
{ 
    MAPIFolder inbox_folder = f.Store.GetDefaultFolder(OlDefaultFolders.olFolderInbox); 

    foreach (MailItem item in inbox_folder.Items) 
    { 
     //Access item here 
    } 
} 

然而,不是這樣做,這是有道理的通過直接循環Stores屬性如下:

Stores stores = ns.Stores; 

foreach (Store store in stores) 
{ 
    MAPIFolder inbox_folder = store.GetDefaultFolder(OlDefaultFolders.olFolderInbox); 

    foreach (MailItem item in inbox_folder.Items) 
    { 
     //Access item here 
    }     
} 
+0

工作很好,非常感謝! –

+0

不客氣。我很高興能夠提供幫助。 –

相關問題