¿Cómo obtener la dirección de correo electrónico del remitente de uno o varios correos en Outlook?
¿Alguna vez has intentado extraer la dirección de correo electrónico del campo "De" de uno o varios correos recibidos en Outlook? Este artículo proporciona un código VBA para ayudarte a realizar esta tarea.
Obtener la dirección de correo electrónico del remitente de uno o varios correos en Outlook
Por favor, ejecuta el siguiente código VBA para extraer la dirección de correo electrónico del campo "De" de uno o varios correos recibidos en Outlook.
1. Abre una carpeta de correo, selecciona un mensaje de correo del cual quieras obtener la dirección de correo electrónico del remitente. Presiona las teclas Alt + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.
Nota: Para seleccionar varios correos, mantén presionada la tecla Ctrl y luego selecciona los correos uno por uno.
2. En la ventana de Microsoft Visual Basic para Aplicaciones, haz clic en Insertar > Módulo, luego copia el siguiente código VBA en la ventana del Módulo (código).

Código VBA: extraer la dirección de correo electrónico del remitente de uno o varios correos 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. Haz clic en Herramientas > Referencias, luego marca la casilla Microsoft Scripting Runtime en el cuadro de diálogo Referencias – Proyecto1.

4. Presiona la tecla F5 para ejecutar el código. Luego aparecerá un cuadro de diálogo de Kutools para Outlook, listando todas las direcciones de correo electrónico de los remitentes de los correos seleccionados.
Nota:

5. Después de hacer clic en el botón Sí, aparecerá un cuadro de diálogo Examinar Carpeta. Por favor, elige una carpeta para guardar el archivo y haz clic en el botón Aceptar.

6. Finalmente, aparecerá un cuadro de diálogo de Kutools para Outlook, indicándote la ruta del archivo exportado. Haz clic en Aceptar para cerrarlo.

7. Ve a la carpeta donde se guardó el archivo exportado y abre el archivo .txt llamado Dirección para ver las direcciones de correo electrónico de los remitentes de los correos seleccionados.

Las mejores herramientas de productividad para Office
Últimas noticias: ¡Kutools para Outlook lanza una versión gratuita!
¡Descubre el nuevo Kutools para Outlook con más de100 funciones increíbles! ¡Haz clic para descargarlo ahora!
📧 Automatización de Email: Respuesta automática (disponible para POP e IMAP) / Programar envío de correos electrónicos / CC/BCC automático por regla al enviar correo / Reenvío automático (Regla avanzada) / Agregar saludo automáticamente / Dividir automáticamente correos con varios destinatarios en mensajes individuales ...
📨 Gestión de Email: Recuperar correos electrónicos / Bloquear correos sospechosos por asunto y otros criterios / Eliminar correos electrónicos duplicados / Búsqueda Avanzada / Organizar carpetas ...
📁 Adjuntos Pro: Guardar en lote / Desanexar en lote / Comprimir en lote / Guardar automáticamente / Desconectar automáticamente / Auto Comprimir ...
🌟 Magia de la Interfaz: 😊Más emojis atractivos y geniales / Recibe avisos cuando lleguen emails importantes / Minimiza Outlook en vez de cerrarlo ...
👍 Funciones de un solo clic: Responder a Todos con Adjuntos / Correos electrónicos Anti-Phishing / 🕘Mostrar la zona horaria del remitente ...
👩🏼🤝👩🏻 Contactos y Calendario: Agregar en lote contactos de correos seleccionados / Dividir un grupo de contactos en grupos individuales / Eliminar recordatorio de cumpleaños ...
Utiliza Kutools en tu idioma preferido; ¡compatible con Inglés, Español, Alemán, Francés, Chino y más de40 idiomas adicionales!

