1

如何阅读 Outlook 子文件夹中的邮件?我可以从收件箱中读取,但我不知道如何从我在收件箱中创建的文件夹中读取。

这是我的控制台应用程序的简单代码:

Sub Main()

    Dim otkApp As Outlook.Application = New Outlook.Application
    Dim otkMailItem = "IPM.Note"
    Dim otkNameSpace As Outlook.NameSpace = otkApp.GetNamespace("MAPI")
    Dim otkInboxFolder As Outlook.MAPIFolder = otkNameSpace.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox)
    Dim otkMailItems As Outlook.Items = otkInboxFolder.Items
    Dim otkMessage As Outlook.MailItem
    Dim iCntr As Integer

    MsgBox(otkMailItems.Count)
    For iCntr = 1 To otkMailItems.Count
        If otkMailItems.Item(iCntr).MessageClass = otkMailItem Then
            otkMessage = otkMailItems.Item(iCntr)

            Console.WriteLine(iCntr)
            Console.WriteLine(otkMessage.SenderName)
            Console.WriteLine(otkMessage.Subject)
            Console.WriteLine(otkMessage.ReceivedTime)
            Console.WriteLine(otkMessage.Body)
            Console.WriteLine("______________________________")
        End If
    Next

    otkApp = Nothing
    otkNameSpace = Nothing
    otkMailItems = Nothing
    otkMessage = Nothing
End Sub

我认为这条线应该改变:

Dim otkInboxFolder As Outlook.MAPIFolder = otkNameSpace.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox)

我想阅读邮件的文件夹是:

Inbox -> domain.com -> support@domain.com
4

2 回答 2

0

您可以使用 Outlook.NameSpace.Folders("folder_name") 属性。每次调用此属性时,它都会返回一个 MAPIFolder,它也具有 Folders 属性,因此如果您想访问嵌套文件夹,可以使用它

例如,假设您要访问名为“Inbox”的文件夹,该文件夹位于文件夹“support@domain.com”中的文件夹“domain.com”中,您将使用以下内容:

Dim otkInboxFolder As Outlook.MAPIFolder = otkNameSpace.Folders("support@domain.com").Folders("domain.com").Folders("Inbox")
于 2012-11-14T11:10:32.503 回答
0

如果它是收件箱文件夹的子文件夹,您可以使用 MAPIFolder.Folders 集合来获取子子文件夹。

Dim otkInboxFolder As Outlook.MAPIFolder = otkNameSpace.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox)
Dim SubFolder = otkInboxFolder.Folders.Item*"TheSubfolderName")
Dim otkMailItems As Outlook.Items = SubFolder .Items
于 2017-04-04T17:55:42.813 回答