Перейти к основному содержанию
 

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

Автор: Силувия Последнее изменение: 2024 июля 09 г.

Вы когда-нибудь пытались извлечь адрес электронной почты из поля «От» одного или нескольких полученных писем в Outlook? В этой статье представлен код VBA, который поможет вам справиться с этой задачей.


Получите адрес электронной почты отправителя из одного или нескольких писем в Outlook

Запустите следующий код VBA, чтобы извлечь адрес электронной почты из поля «От» одного или нескольких полученных писем в Outlook.

1. Откройте папку электронной почты, выберите сообщение электронной почты, из которого вы хотите получить адрес электронной почты отправителя. нажмите другой + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

Советы: чтобы выбрать несколько писем, удерживайте Ctrl ключ, а затем выберите электронные письма один за другим.

2. в Microsoft Visual Basic для приложений окна, нажмите Вставить > Модули, затем скопируйте следующий код VBA в окно Module (code).

шаги по получению адреса электронной почты отправителя из одного или нескольких писем в Outlook

Код VBA: извлечь адрес электронной почты отправителя из одного или нескольких писем в 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. Нажмите Инструменты > Рекомендациизатем проверьте Среда выполнения сценариев Microsoft коробка в Рекомендации – Проект1 диалоговое окно.

шаги по получению адреса электронной почты отправителя из одного или нескольких писем в Outlook

4. нажмите F5 ключ для запуска кода. Потом Kutools for Outlook Появится диалоговое окно со списком всех адресов электронной почты отправителя выбранных писем.

Советы:

Если вам нужно экспортировать список адресов в текстовый файл, нажмите кнопку Да .
Или нажмите на Нет кнопка, чтобы завершить процесс.
шаги по получению адреса электронной почты отправителя из одного или нескольких писем в Outlook

5. После нажатия на Да кнопка, а Просмотр папки всплывает диалоговое окно. Пожалуйста, выберите папку для сохранения файла и нажмите кнопку OK .

шаги по получению адреса электронной почты отправителя из одного или нескольких писем в Outlook

6. Наконец, Kutools for Outlook появится диалоговое окно с указанием пути к экспортируемому файлу. Нажмите OK закрыть его.

шаги по получению адреса электронной почты отправителя из одного или нескольких писем в Outlook

7. Перейдите в папку, в которой сохранен экспортированный файл, и откройте файл .txt с именем Адрес чтобы увидеть адреса электронной почты отправителя выбранных писем.

шаги по получению адреса электронной почты отправителя из одного или нескольких писем в Outlook

Лучшие инструменты для офисной работы

Последние новости: запуск Kutools для Outlook Бесплатная версия!

Испытайте совершенно новые Kutools для Outlook БЕСПЛАТНАЯ версия с более чем 70 потрясающими функциями, которыми вы можете пользоваться НАВСЕГДА! Нажмите, чтобы скачать сейчас!

🤖 Кутулс ИИ : Использует передовые технологии искусственного интеллекта для легкой обработки электронной почты, включая ответы, обобщение, оптимизацию, расширение, перевод и составление электронных писем.

???? Автоматизация электронной почты: Автоответ (доступно для POP и IMAP)  /  Расписание отправки писем  /  Автоматическое копирование/скрытая копия по правилам при отправке электронной почты  /  Автопересылка (расширенные правила)   /  Автоматическое добавление приветствия   /  Автоматически разделять электронные письма от нескольких получателей на отдельные сообщения ...

📨 Управление электронной почтой: Отозвать электронные письма  /  Блокировка мошеннических писем от субъектов и других лиц  /  Удалить повторяющиеся электронные письма  /  Расширенный поиск  /  Объединение папок ...

📁 Вложения ProПакетное сохранение  /  Пакетное отсоединение  /  Пакетное сжатие  /  Автосохранение   /  Авто отсоединение  /  Автоматическое сжатие ...

???? Магия интерфейса: 😊Больше красивых и крутых смайлов   /  Напоминать, когда приходят важные письма  /  Свернуть Outlook вместо закрытия ...

???? Чудеса в один клик: Ответить всем с входящими вложениями  /   Антифишинговые письма  /  🕘Показать часовой пояс отправителя ...

👩🏼‍🤝‍👩🏻 Контакты и календарь: Пакетное добавление контактов из выбранных писем  /  Разделить группу контактов на отдельные группы  /  Удалить напоминания о днях рождения ...

Мгновенно разблокируйте Kutools for Outlook одним щелчком мыши —постоянно бесплатно. Не ждите, скачайте сейчас и повысьте свою эффективность!

Kutools для функций Outlook1 Kutools для функций Outlook2