Compartilhar via


Exibir detalhes da entrada do endereço para o remetente de uma mensagem

O destinatário de cada email entregue por um provedor de transporte tem uma entrada de endereço na hierarquia de catálogos de endereços do provedor na sessão. Este tópico descreve como exibir programaticamente as informações de entrada de endereço do remetente de um item de email atualmente exibido em um inspetor.

  1. Para o item de email exibido atualmente, use o objeto PropertyAccessor para determinar a ID de entrada do remetente.

  2. Use o método NameSpace.GetAddressEntryFromID da sessão atual para retornar um objeto AddressEntry .

  3. Use a propriedade AddressEntry.AddressEntryUserType para determinar o tipo do AddressEntry e exiba os detalhes de acordo:

    • Se a entrada de endereço for um item de contato na pasta Contatos do Outlook ou se o endereço SMTP do remetente corresponder a um endereço de email de um item de contato na pasta Contatos padrão, exiba as informações de entrada de endereço em um inspetor de contatos. Para corresponder endereços de email na pasta Contatos, use o objeto Table para fazer um filtro rápido nas propriedades ContactItem.Email1Address, ContactItem.Email2Address e ContactItem.Email3Address dos itens nessa pasta.
  • Em todos os outros casos, exiba as informações de entrada do endereço na caixa de diálogo Propriedades Email.

Comentários

Para executar este exemplo de código:

  1. Abra um email para que seja exibido no inspetor ativo.

  2. Coloque o código no módulo interno ThisOutlookSession.

  3. Execute o TestAddressEntryDetails procedimento para exibir detalhes da entrada do endereço na mensagem de email no inspetor ativo:

Sub TestAddressEntryDetails() 
 Dim oMail As MailItem 
 
 Set oMail = Application.ActiveInspector.CurrentItem 
 DisplayAddressEntryDetails oMail 
End Sub 
 
 
Sub DisplayAddressEntryDetails(oM As MailItem) 
 Dim oPA As Outlook.PropertyAccessor 
 Dim oContact As Outlook.ContactItem 
 Dim oSender As Outlook.AddressEntry 
 Dim SenderID As String 
 
 'Create an instance of PropertyAccessor 
 Set oPA = oM.PropertyAccessor 
 
 'Obtain PidTagSenderEntryId and convert to string 
 SenderID = oPA.BinaryToString _ 
 (oPA.GetProperty("https://schemas.microsoft.com/mapi/proptag/0x0C190102")) 
 
 'Obtain AddressEntry Object of the sender 
 Set oSender = Application.Session.GetAddressEntryFromID(SenderID) 
 
 'Examine AddressEntryUserType 
 If oSender.AddressEntryUserType = olOutlookContactAddressEntry Then 
 'Obtain ContactItem for AddressEntry 
 Set oContact = oSender.GetContact 
 oContact.Display 
 'Display details for Exchange or SMTP sender 
 Else 
 oSender.Details 
 End If 
End Sub

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.