كيفية الحصول على عنوان البريد الإلكتروني للمرسل من رسالة بريد إلكتروني واحدة أو أكثر في Outlook؟
هل سبق أن حاولت استخراج عنوان البريد الإلكتروني من حقل "من" لرسالة بريد إلكتروني واحدة أو أكثر مستلمة في Outlook؟ يوفر هذا المقال كود VBA لمساعدتك في التعامل مع هذه المهمة.
الحصول على عنوان البريد الإلكتروني للمرسل من رسالة بريد إلكتروني واحدة أو أكثر في Outlook
يرجى تشغيل الكود VBA التالي لاستخراج عنوان البريد الإلكتروني من حقل "من" لرسالة بريد إلكتروني واحدة أو أكثر مستلمة في Outlook.
1. افتح مجلد البريد الإلكتروني، وحدد رسالة بريد إلكتروني تريد الحصول على عنوان المرسل منها. اضغط على مفتاحي Alt + F11 لفتح نافذة Microsoft Visual Basic for Applications.
ملاحظة: لتحديد رسائل متعددة، يرجى الضغط باستمرار على مفتاح Ctrl ثم تحديد الرسائل واحدة تلو الأخرى.
2. في نافذة Microsoft Visual Basic for Applications، انقر فوق إدراج > وحدة، ثم قم بنسخ الكود VBA التالي إلى نافذة الوحدة (الكود).

كود 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.

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

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

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

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

أفضل أدوات إنتاجية أوفيس
أخبار عاجلة: أدوات Kutools لـ Outlook تطلق إصدارًا مجانيًا!
اختبر أدوات Kutools لـ Outlook الجديدة كليًا مع أكثر من100 ميزة مذهلة! انقر لتحميلها الآن!
📧 أتمتة البريد الإلكتروني: الرد التلقائي (متاح لـ POP و IMAP) / جدولة إرسال البريد / نسخة تلقائية/مخفية عن طريق القواعد عند إرسال البريد / التحويل التلقائي (قاعدة متقدمة) / إضافة التحية تلقائيًا / تقسيم رسائل البريد الإلكتروني متعددة المستلمين تلقائيًا إلى رسائل منفصلة...
📨 إدارة البريد الإلكتروني: استدعاء البريد الإلكتروني / حظر رسائل الاحتيال حسب الموضوع وغيرها / حذف الرسائل المكررة / البحث المتقدم / تنظيم المجلدات...
📁 المرفقات المتقدمة: حفظ دفعة واحدة / فصل دفعة واحدة / ضغط دفعة واحدة / حفظ تلقائي / تفصيل تلقائي / ضغط تلقائي...
🌟 سحر الواجهة: 😊 المزيد من الرموز التعبيرية الجميلة والمميزة / تذكير عند وصول البريد الهام / تصغير Outlook بدل الإغلاق...
👍 ميزات بضغطة واحدة: الرد على الجميع مع المرفقات / الحماية من التصيد الاحتيالي / 🕘 عرض المنطقة الزمنية للمرسل...
👩🏼🤝👩🏻 جهات الاتصال والتقويم: إضافة جهات الاتصال دفعة واحدة من الرسائل المحددة / تقسيم مجموعة جهات الاتصال إلى مجموعات فردية / إزالة تذكير عيد الميلاد...
استخدم أدوات Kutools بلغتك المفضلة – يدعم الإنجليزية، الإسبانية، الألمانية، الفرنسية، الصينية، وأكثر من40 لغة أخرى!
افتح أدوات Kutools لـ Outlook فوراً بنقرة واحدة. لا تنتظر، حمِّله الآن وحقق كفاءة أعلى!