KutoolsforOffice — Una solución, cinco potentes herramientas.Lograr más con menos esfuerzo.Oferta de marzo: 20 % de descuento

¿Cómo obtener la dirección de correo electrónico del remitente de uno o varios mensajes en Outlook?

AutoraSiluvia Fecha de modificación

¿Ha intentado alguna vez extraer la dirección de correo electrónico del campo «De» de uno o varios mensajes recibidos en Outlook? Este artículo le ofrece un código VBA para facilitarle esta tarea.


Obtener la Dirección de correo electrónico del remitente de uno o varios correos electrónicos en Outlook

Ejecute el siguiente código VBA para extraer la dirección de correo electrónico del campo «De» de uno o varios mensajes recibidos en Outlook.

1. Abra una carpeta de correo y seleccione un mensaje del que desee obtener la dirección de correo electrónico del remitente. Pulse las teclas Alt+F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.

Consejos: Para seleccionar varios correos, mantén pulsada la tecla Ctrl y selecciona los mensajes uno a uno.

2. En la ventana de Microsoft Visual Basic para Aplicaciones, haga clic en Insertar > Módulo y, a continuación, copie el siguiente código VBA en la ventana del módulo (código).

pasos para obtener la dirección de correo electrónico del remitente de uno o varios correos electrónicos en Outlook

Código VBA: extraer la Dirección de correo electrónico del remitente de uno o varios correos electrónicos en Outlook

Sub GetSmtpAddressOfSelectionEmail()
  Dim xExplorer As Explorer
  Dim xSelection As Selection
  Dim xItem As Object
  Dim xMail As MailItem
  Dim xAddress As String
  Dim xFldObj As Object
  Dim FilePath As String
  Dim xFSO As Scripting.FileSystemObject
  On Error Resume Next
  Set xExplorer = Application.ActiveExplorer
  Set xSelection = xExplorer.Selection
  For Each xItem In xSelection
    If xItem.Class = olMail Then
      Set xMail = xItem
      xAddress = xAddress & VBA.vbCrLf & "  " & GetSmtpAddress(xMail)
    End If
  Next
  If MsgBox("Sender SMTP Address is: " & xAddress & vbCrLf & vbCrLf & "Do you want to export the address list to a txt file? ", vbYesNo, "Kutools for Outlook") = vbYes Then
    Set xFldObj = CreateObject("Shell.Application").BrowseforFolder(0, "Select a Folder", 0, 16)
    Set xFSO = New Scripting.FileSystemObject
    If xFldObj Is Nothing Then Exit Sub
    FilePath = xFldObj.Items.Item.Path & "\Address.txt"
    Close #1
    Open FilePath For Output As #1
    Print #1, "Sender SMTP Address is: " & xAddress
    Close #1
    Set xFSO = Nothing
    Set xFldObj = Nothing
    MsgBox "Address list has been exported to:" & FilePath, vbOKOnly + vbInformation, "Kutools for Outlook"
  End If
End Sub
Function GetSmtpAddress(Mail As MailItem)
  Dim xNameSpace As Outlook.NameSpace
  Dim xEntryID As String
  Dim xAddressEntry As AddressEntry
  Dim PR_SENT_REPRESENTING_ENTRYID As String
  Dim PR_SMTP_ADDRESS As String
  Dim xExchangeUser As exchangeUser
  On Error Resume Next
  GetSmtpAddress = ""
  Set xNameSpace = Application.Session
  If Mail.sender.Type <> "EX" Then
    GetSmtpAddress = Mail.sender.Address
  Else
    PR_SENT_REPRESENTING_ENTRYID = "http://schemas.microsoft.com/mapi/proptag/0x00410102"
    xEntryID = Mail.PropertyAccessor.BinaryToString(Mail.PropertyAccessor.GetProperty(PR_SENT_REPRESENTING_ENTRYID))
    Set xAddressEntry = xNameSpace.GetAddressEntryFromID(xEntryID)
    If xAddressEntry Is Nothing Then Exit Function
    If xAddressEntry.AddressEntryUserType = olExchangeUserAddressEntry Or xAddressEntry.AddressEntryUserType = olExchangeRemoteUserAddressEntry Then
      Set xExchangeUser = xAddressEntry.GetExchangeUser()
      If xExchangeUser Is Nothing Then Exit Function
      GetSmtpAddress = xExchangeUser.PrimarySmtpAddress
    Else
      PR_SMTP_ADDRESS = "http://schemas.microsoft.com/mapi/proptag/0x39FE001E"
      GetSmtpAddress = xAddressEntry.PropertyAccessor.GetProperty(PR_SMTP_ADDRESS)
    End If
  End If
End Function

3. Haga clic en Herramientas > Referencias, marque la casilla Microsoft Scripting Runtime en el cuadro de diálogo Referencias: Proyecto1.

pasos para obtener la dirección de correo electrónico del remitente de uno o varios correos electrónicos en Outlook

4. Pulse la tecla F5 para ejecutar el código. A continuación, aparecerá un cuadro de diálogo Kutools para Outlook con la lista de todas las direcciones de correo electrónico de los remitentes de los mensajes seleccionados.

Consejos:

Si necesita exportar las Lista de direcciones a un Archivo TXT, haga clic en el botón .
O bien, haga clic en el botón Nopara finalizar el proceso.
pasos para obtener la dirección de correo electrónico del remitente de uno o varios correos electrónicos en Outlook

5. Tras hacer clic en el botón , aparecerá un cuadro de diálogo Examinar carpetas. Seleccione una carpeta para guardar el archivo y haga clic en el botón Aceptar.

pasos para obtener la dirección de correo electrónico del remitente de uno o varios correos electrónicos en Outlook

6. Por último, aparecerá un cuadro de diálogo Kutools para Outlook que le indicará la ruta del archivo exportado. Haga clic en Aceptar para cerrarlo.

pasos para obtener la dirección de correo electrónico del remitente de uno o varios correos electrónicos en Outlook

7. Vaya a la carpeta donde se guardó el archivo exportado y abra el archivo .TXT denominado Address para ver las direcciones de correo electrónico de los remitentes de los mensajes seleccionados.

pasos para obtener la dirección de correo electrónico del remitente de uno o varios correos electrónicos en Outlook

Las mejores herramientas de productividad para Office

¡Descubra el nuevo Kutools para Outlook con 100+ funciones increíbles!¡Haga clic para descargar ahora!

🤖KUTOOLS AI:Utiliza tecnología avanzada de IA para gestionar correos electrónicos sin esfuerzo, incluyendo responder, resumir, optimizar, ampliar, traducir y redactar correos.

📧Automatización de correo electrónico: Respuesta automática (disponible para POP e IMAP) / Programar el envío de correos electrónicos / CC/BCC automático según reglas al enviar correos / Reenvío automático (regla avanzada) / Añadir saludo automáticamente / Dividir automáticamente los correos con múltiples destinatarios en mensajes individuales...

📨Gestión de correo electrónico: Recupera tus correos electrónicos / Bloquea correos fraudulentos por asunto y otros criterios / Elimina correos electrónicos duplicados / Búsqueda avanzada / Organiza tus carpetas

📁Archivos adjuntos Pro: Guardar en lote / Desvincular en lote / Comprimir en lote / Guardar automáticamente / Desconectar automáticamente / Auto comprimir...

🌟Magia de la interfaz: 😊Más emojis bonitos y modernos / Le avisa cuando llegan correos importantes / Minimiza Outlook en lugar de cerrarlo

👍Maravillas con un solo clic: Responder a Todos con Adjuntos / Correos electrónicos antiphishing / 🕘 Mostrar zona horaria: hora actual del remitente...

👩🏼‍🤝‍👩🏻Contactos y calendario: Crear contactos en lote a partir de correos seleccionados / Dividir un grupo de contactos en grupos individuales / Eliminar recordatorio de cumpleaños...

Utilice Kutools en su idioma preferido: compatible con inglés, español, alemán, francés, chino y más de 40 idiomas adicionales.

Desbloquee Kutools para Outlook al instante con un solo clic. ¡No espere más: descárguelo ahora y potencie su eficiencia!

kutools for outlook features1kutools for outlook features2

🚀 Descarga con un solo clic — Obtenga todos los complementos de Office

Muy recomendado: Kutools for Office (5 en 1)

Un solo clic para descargar cinco instaladoresa la vez —Kutools para Excel, Outlook, Word, PowerPointy Office Tab Pro.¡Haga clic para descargar ahora!

  • Comodidad con un solo clic: Descargue los cinco paquetes de instalación de una sola vez.
  • 🚀Listo para cualquier tarea de Office: Instale los complementos que necesite, justo cuando los necesite.
  • 🧰Incluido: Kutools para Excel / Kutools para Outlook / Kutools para Word / Office Tab Pro / Kutools for PowerPoint