MeetingItem Получатель.Как получить электронную почту - PullRequest
0 голосов
/ 17 мая 2018

Я нашел похожий вопрос, но для c # Outlook: Как получить электронную почту из поля получателя? На этот вопрос также нет правильного ответа.
Тем не менее, я попробовал некоторые ответы из этогоthread
recipient.AddressEntry.Address <= возвращает то же самое, что и <code>recipient.Address то, что я использовал до сих пор, и что дает мне следующий результат:

"/o=POST/ou=Zuerich/cn=Recipients/cn=eicherr"

Как я могу получить адрес электронной почты получателя?

Я пробовал также .AddressEntry.GetContact().Email1Address и .AddressEntry.GetExchangeUser().Address, у меня все это не работает.

Вот документы MSDN, объясняющие, как получить адрес электронной почты, но я не понимаю, как я могу использовать его в своем коде. Получить адрес электронной почты получателя

мой код:

Dim Msg As Outlook.MeetingItem
Set Msg = Item
Set recips = Msg.Recipients
Dim recip As Outlook.Recipient

For Each recip In recips
    Dim email as String
    email = CStr(recip.Address)
    Debug.Print email
End For

Ответы [ 2 ]

0 голосов
/ 17 мая 2018

Если Recipient.AddressEntry.Type <> "EX", просто используйте Recipient.Adddress. В противном случае используйте Recipient.AddressEntry.GetExchangeUser().PrimarySmtpAddress

0 голосов
/ 17 мая 2018

Документация по ссылке, которую я вставил, наконец-то помогла мне решить эту проблему.

For Each recip In recips

    'Obtain the E-mail Address of a Recipient
    Dim pa As Outlook.PropertyAccessor
    Const PR_SMTP_ADDRESS As String = _
        "http://schemas.microsoft.com/mapi/proptag/0x39FE001E"
    Set pa = recip.PropertyAccessor

    Dim email as String
    email = CStr(pa.GetProperty(PR_SMTP_ADDRESS))
    Debug.Print email

End For
...