【问题标题】:Reading Outlook Mail with C#使用 C# 读取 Outlook 邮件
【发布时间】:2018-01-10 00:43:25
【问题描述】:

当我尝试连接到我的 Outlook 邮件时,我正在使用以下代码。现在,我一定是做错了什么,因为我尝试获取收件箱邮件,但我总是收到 0 封邮件(如果不是这种情况)。这是我的代码

 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)。现在,问题是我需要访问该帐户中的特定文件夹。我该怎么做?

【问题讨论】:

    标签: c# outlook office-interop


    【解决方案1】:

    我可以解决这个问题!实际上这很容易。以下是我访问所需文件夹的方法:

    // my-account@myserver.com is the name of my account
    // Unsent mails is the name of the folder I wanted to access
    inboxFolder = nameSpace.Folders["my-account@myserver.com"].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);
        }    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-26
      • 1970-01-01
      • 2017-11-09
      • 1970-01-01
      • 1970-01-01
      • 2020-05-30
      • 1970-01-01
      • 2014-09-09
      相关资源
      最近更新 更多