Skip to main content

Kutools for Office — مجموعة واحدة. خمسة أدوات. أنجز المزيد.

كيفية الحصول على عنوان البريد الإلكتروني للمرسل من رسالة بريد إلكتروني واحدة أو أكثر في Outlook؟

Author Siluvia Last modified

هل سبق أن حاولت استخراج عنوان البريد الإلكتروني من حقل "من" لرسالة بريد إلكتروني واحدة أو أكثر مستلمة في Outlook؟ يوفر هذا المقال كود VBA لمساعدتك في التعامل مع هذه المهمة.


الحصول على عنوان البريد الإلكتروني للمرسل من رسالة بريد إلكتروني واحدة أو أكثر في Outlook

يرجى تشغيل الكود VBA التالي لاستخراج عنوان البريد الإلكتروني من حقل "من" لرسالة بريد إلكتروني واحدة أو أكثر مستلمة في Outlook.

1. افتح مجلد البريد الإلكتروني، وحدد رسالة بريد إلكتروني تريد الحصول على عنوان المرسل منها. اضغط على مفتاحي Alt + F11 لفتح نافذة Microsoft Visual Basic for Applications.

ملاحظة: لتحديد رسائل متعددة، يرجى الضغط باستمرار على مفتاح Ctrl ثم تحديد الرسائل واحدة تلو الأخرى.

2. في نافذة Microsoft Visual Basic for Applications، انقر فوق إدراج > وحدة، ثم قم بنسخ الكود VBA التالي إلى نافذة الوحدة (الكود).

steps on getting the sender’s email address from one or more emails in 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 Scripting Runtime في مربع الحوار مراجع – مشروع 1.

steps on getting the sender’s email address from one or more emails in Outlook

4. اضغط على مفتاح F5 لتشغيل الكود. بعد ذلك، ستظهر نافذة منبثقة من أدوات Kutools لـ Outlook، تعرض جميع عناوين البريد الإلكتروني للمرسل للرسائل المحددة.

ملاحظة:

إذا كنت بحاجة إلى تصدير قائمة العناوين إلى ملف txt، انقر فوق الزر نعم.
أو انقر فوق الزر لا لإنهاء العملية.
steps on getting the sender’s email address from one or more emails in Outlook

5. بعد النقر فوق الزر نعم، ستظهر نافذة منبثقة تصفح المجلد. يرجى اختيار مجلد لحفظ الملف والنقر فوق زر موافق.

steps on getting the sender’s email address from one or more emails in Outlook

6. أخيرًا، ستظهر نافذة منبثقة من أدوات Kutools لـ Outlook، تخبرك بمسار الملف الذي تم تصديره. انقر فوق موافق لإغلاقها.

steps on getting the sender’s email address from one or more emails in Outlook

7. انتقل إلى المجلد حيث تم حفظ الملف المصدر وافتح ملف .txt المسمى العنوان لرؤية عناوين البريد الإلكتروني للمرسل للرسائل المحددة.

steps on getting the sender’s email address from one or more emails in Outlook

أفضل أدوات تعزيز الإنتاجية في المكتب

خبر عاجل: Kutools لـ Outlook يطلق إصدارًا مجانيًا!

جرب الإصدار الجديد كليًا من Kutools لـ Outlook مع أكثر من100 ميزة مذهلة! انقر لتنزيل الآن!

🤖 Kutools AI : يستخدم تكنولوجيا الذكاء الاصطناعي المتقدمة للتعامل مع البريد الإلكتروني بسهولة، بما في ذلك الرد، التلخيص، التحسين، التوسيع، الترجمة، وإنشاء رسائل البريد الإلكتروني.

📧 أتمتة البريد الإلكتروني: الرد التلقائي (متوفر لـ POP وIMAP) / جدولة إرسال البريد الإلكتروني / نسخة تلقائية/مخفية بناءً على القاعدة عند إرسال البريد / التحويل التلقائي (قاعدة متقدمة) / إضافة التحية تلقائيًا / تقسيم تلقائي لرسائل البريد الإلكتروني متعددة المستلمين إلى رسائل فردية ...

📨 إدارة البريد الإلكتروني: استدعاء البريد الإلكتروني / حظر رسائل التصيد بناءً على الموضوعات أو أخرى / حذف البريد الإلكتروني المكرر / البحث المتقدم / تنظيم المجلدات ...

📁 إعدادات المرفقات الاحترافية: حفظ دفعة / فصل دفعة / ضغط دفعة / حفظ تلقائي / تفصيل تلقائي / ضغط تلقائي ...

🌟 جمالية الواجهة: 😊 المزيد من الرموز التعبيرية الجميلة والرائعة / تذكيرك عند وصول رسائل البريد الهامة / تصغير Outlook بدلًا من الإغلاق ...

👍 ميزات بنقرة واحدة: الرد على الجميع مع المرفقات / البريد الإلكتروني المضاد للتصيد / 🕘 عرض المنطقة الزمنية للمرسل ...

👩🏼‍🤝‍👩🏻 جهات الاتصال والتقويم: إضافة دفعة لجهات الاتصال من البريد الإلكتروني المحدد / تقسيم مجموعة جهات الاتصال إلى مجموعات فردية / إزالة تذكير عيد الميلاد ...

استخدم Kutools بلغتك المفضلة – يدعم الإنجليزية والإسبانية والألمانية والفرنسية والصينية وأكثر من40 لغة أخرى!

افتح Kutools لـ Outlook فورًا بنقرة واحدة. لا تنتظر، قم بالتنزيل الآن وارتقِ بإنتاجيتك!

kutools for outlook features1 kutools for outlook features2

🚀 تنزيل بنقرة واحدة — احصل على جميع إضافات Office

موصى به بقوة: Kutools لـ Office (خمسة في واحد)

بنقرة واحدة يمكنك تنزيل خمسة برامج تثبيت مرة واحدة — Kutools لـ Excel وOutlook وWord وPowerPoint وOffice Tab Pro. انقر لتنزيل الآن!

  • سهولة بنقرة واحدة: قم بتنزيل جميع حزم التثبيت الخمسة دفعة واحدة.
  • 🚀 جاهز لأي مهمة في Office: ثبّت الإضافات التي تحتاجها وقتما تشاء.
  • 🧰 يتضمن: Kutools لـ Excel / Kutools لـ Outlook / Kutools لـ Word / Office Tab Pro / Kutools لـ PowerPoint