2013-05-29 42 views
1

我很好奇,如果.NET可以這樣做。我編寫了一個小型的C#Windows GUI應用程序,我想知道是否有任何方法「利用」Microsoft Outlook 2010並檢查它是否有任何新的(未打開的)電子郵件?一般來說,這種狀況將通過一個信封圖標在系統托盤中的存在來表示:有沒有什麼辦法可以知道Outlook 2010是否有新的C#電子郵件#

enter image description here

+0

你想查詢的Outlook,或者你想收到活動通知? –

+0

投票或「審問」會更好。但是,我還有什麼選擇? – ahmd0

+0

這可能非常接近你想要的:http://stackoverflow.com/questions/2055811/get-unread-mails-from-outlook –

回答

1

希望這有助於...

下如何演示功能到Outlook文件夾中retreive從項目數據使用.NET(稱爲「MySubFolderName」收件箱文件夾下):

首先添加一個引用到Outlook COM對象項目:

在VS.NET右鍵單擊一個引用d選擇添加參考。 選擇COM選項卡 選擇「Microsoft Outlook 11.0 Object Library」(這是用於MS Office 2003 - 我認爲10.0用於Office XP)並單擊Select。 單擊確定。 請注意,您可以訪問任何Outlook/Exchange對象類型,例如約會,筆記,任務,電子郵件等 - 只需使用intellisense來選擇哪一個(例如Microsoft.Office.Interop.Outlook ... ...參見定義變量'項目')。

下面的代碼:

Microsoft.Office.Interop.Outlook.Application app = null; 
Microsoft.Office.Interop.Outlook._NameSpace ns = null; 
Microsoft.Office.Interop.Outlook.PostItem item = null; 
Microsoft.Office.Interop.Outlook.MAPIFolder inboxFolder = null; 
Microsoft.Office.Interop.Outlook.MAPIFolder subFolder = null; 

try 
{ 
    app = new Microsoft.Office.Interop.Outlook.Application(); 
    ns = app.GetNamespace("MAPI"); 
    ns.Logon(null,null,false, false); 

    inboxFolder = ns.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox); 
    subFolder = inboxFolder.Folders["MySubFolderName"]; //folder.Folders[1]; also works 
    Console.WriteLine("Folder Name: {0}, EntryId: {1}", subFolder.Name, subFolder.EntryID); 
    Console.WriteLine("Num Items: {0}", subFolder.Items.Count.ToString()); 

for(int i=1;i<=subFolder.Items.Count;i++) 
{ 
    item = (Microsoft.Office.Interop.Outlook.PostItem)subFolder.Items[i]; 
    Console.WriteLine("Item: {0}", i.ToString()); 
    Console.WriteLine("Subject: {0}", item.Subject); 
    Console.WriteLine("Sent: {0} {1}" item.SentOn.ToLongDateString(), item.SentOn.ToLongTimeString()); 
    Console.WriteLine("Categories: {0}", item.Categories); 
    Console.WriteLine("Body: {0}", item.Body); 
    Console.WriteLine("HTMLBody: {0}", item.HTMLBody); 
    } 
} 
catch (System.Runtime.InteropServices.COMException ex) 
{ 
    Console.WriteLine(ex.ToString()); 
} 
finally 
{ 
    ns = null; 
    app = null; 
    inboxFolder = null; 
} 

源@http://geekswithblogs.net/TimH/archive/2006/05/26/79720.aspx

同時檢查:

http://msdn.microsoft.com/en-us/library/bb610835(v=office.14).aspx

相關問題