簡體   English   中英

如何在Outlook(C#)中訪問我的Yahoo或Gmail帳戶?

[英]how to access my yahoo or gmail account in outlook (c#)?

我有3個數據文件:

  1. Outlook數據文件(為空)
  2. Gmail數據文件(來自我的gmail pop3)
  3. Yahoo數據文件(來自我的Yahoo imap)

我可以使用以下代碼訪問Outlook數據文件收件箱(始終為空,我不知道如何自動從我的google和yahoo帳戶移至我的Outlook數據文件):

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

我有兩個問題:

  1. 如何使我的gmail和yahoo帳戶自動移至我的Outlook數據文件?
  2. 如何編寫代碼以訪問我的gmail和yahoo帳戶中的收件箱?

我嘗試使用此函數返回到我的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;
    }

但這沒有用。 幫幫我吧。

我不確定我是否理解您的第一個問題,是否要將所有數據文件都加入到主Outlook數據文件中?

關於第二個問題,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/zh-cn/library/office/bb176405%28v=office.12%29.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM