2013-05-16 78 views
0

我有3個數據文件:如何在Outlook(c#)中訪問我的yahoo或gmail帳戶?

  1. Outlook數據文件(空)
  2. Gmail中的數據文件(從我的Gmail POP3)
  3. 雅虎數據文件(從我的雅虎IMAP)

我可以通過 此代碼訪問Outlook數據文件收件箱(始終爲空,我不知道如何自動從我的Google和雅虎帳戶移動到我的Outlook數據文件):

Outlook.MAPIFolder inBox = (Outlook.MAPIFolder)this.Application. 
    ActiveExplorer().Session.GetDefaultFolder 
    (Outlook.OlDefaultFolders.olFolderInbox); 

我有2個問題:

  1. 我怎樣才能讓我的Gmail和雅虎帳戶自動移動到我的Outlook數據文件?
  2. 如何在我的Gmail和雅虎帳戶中訪問我的收件箱?

我已經試過此功能進行回我MAPIFolder:

public Outlook.MAPIFolder GetInbox(string userName) 
    { 
     Outlook.Application oOutlook = new Outlook.Application(); 
     Outlook.NameSpace oNs = oOutlook.GetNamespace("MAPI"); 
     Outlook.Recipient oRep = oNs.CreateRecipient(userName); 
     Outlook.MAPIFolder inbox = oNs.GetSharedDefaultFolder(oRep, Outlook.OlDefaultFolders.olFolderInbox); 
     return inbox; 
    } 

但沒有奏效。幫助我pleaseee ..

回答

0

我不知道我理解你的第一個問題,你想加入到主數據文件的所有數據文件?

關於第二個問題,Outlook數據文件由API中的商店代表,並且如果您在Session對象上調用GetDefaultFolder,則最終將獲得默認商店的默認文件夾(Outlook數據文件的收件箱)。

你可以列出所有的存儲文件,並使用GetDefaultFolder他們來檢索每個存儲/數據文件中的收件箱文件夾:

Outlook.Stores stores = this.Appliction.Session.Stores; 
foreach(Store store in stores) 
{ 
    Outlook.Folder inboxOfStore = store.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox); 

    //Do stuff with your inbox folder.. Check store properties for infomation on which data file this store represents 
} 

更多信息請參見文檔:

http://msdn.microsoft.com/en-us/library/office/bb176405%28v=office.12%29.aspx

相關問題