如何从Outlook子文件夹中读取邮件?我可以从收件箱中读取,但我不知道如何从我在Inbox中创建的文件夹中读取。
这是我的控制台应用程序的简单代码:
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
答案 0 :(得分:0)
您可以使用Outlook.NameSpace.Folders(“folder_name”)属性。每次调用此属性时,它将返回一个MAPIFolder,它也具有Folders属性,因此如果要访问嵌套文件夹,可以使用它
例如,假设您要访问名为“Inbox”的文件夹,该文件夹位于“domain.com”文件夹中,该文件夹位于“support@domain.com”文件夹中,您将使用以下内容:
Dim otkInboxFolder As Outlook.MAPIFolder = otkNameSpace.Folders("support@domain.com").Folders("domain.com").Folders("Inbox")
答案 1 :(得分: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