从mailItem的收件人中获取mailaddresses

Zyb*_*ero 0 outlook-vba

我一直试图找到一种方法来查找邮件发送到的邮件地址.考虑以下:

Private Sub Application_NewMailEx(ByVal EntryIDCollection As String)
    Dim mai As MailItem
    Dim intInitial As Integer
    Dim intFinal As Integer
    Dim strEntryId As String
    Dim intLength As Integer

    intInitial = 1
    intLength = Len(EntryIDCollection)
    intFinal = InStr(intInitial, EntryIDCollection, ",")
    Do While intFinal <> 0
        strEntryId = Strings.Mid(EntryIDCollection, intInitial, (intFinal - intInitial))
        Set mai = Application.Session.GetItemFromID(strEntryId)
        intInitial = intFinal + 1
        intFinal = InStr(intInitial, EntryIDCollection, ",")
    Loop
    strEntryId = Strings.Mid(EntryIDCollection, intInitial, (intLength - intInitial) + 1)
    MsgBox strEntryId
    Set mai = Application.Session.GetItemFromID(strEntryId)
    For Each Recipient In mai.Recipients
        MsgBox Recipient
    Next
End sub
Run Code Online (Sandbox Code Playgroud)

在那些msgBoxes中,我得到了"好名字",比如"John Doe" - 但我想得到邮件地址,"john.doe@gmail.com".

我怎样才能做到这一点?

谢谢!

Jim*_*ena 6

我认为这是Outlook 2007+.你试过地址属性吗?

For Each Recipient In mai.Recipients
  MsgBox Recipient.Address
Next Recipient
Run Code Online (Sandbox Code Playgroud)

这应该打印每个收件人的电子邮件地址.