كيف يمكنني الحصول على عنوان البريد الإلكتروني للمرسِل من رسالة واحدة أو أكثر في Outlook؟
هل سبق أن حاولت استخراج عنوان البريد الإلكتروني من حقل «من» (From) لرسالة واحدة أو أكثر وردتك في Outlook؟ يقدّم لك هذا المقال كود VBA الذي يساعدك على إنجاز هذه المهمة بسهولة.
الحصول على عنوان البريد الإلكتروني المرسِل من بريد إلكتروني واحد أو أكثر في Outlook
يرجى تشغيل كود VBA التالي لاستخراج عنوان البريد الإلكتروني من حقل «من» (From) لرسالة بريد إلكتروني واحدة أو أكثر واردة في Outlook.
1. افتح مجلد البريد الإلكتروني، ثم حدد رسالة البريد الإلكتروني التي تريد استخراج عنوان المرسِل منها. اضغط على مفاتيحAlt+F11 لفتح نافذةMicrosoft Visual Basic for Applications.
تلميحات: لتحديد عدة رسائل بريد إلكتروني، اضغط باستمرار على مفتاحCtrl، ثم حدد الرسائل واحدة تلو الأخرى.
2. في نافذةMicrosoft Visual Basic for Applications، انقر فوقInsert > Module، ثم انسخ كود 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. انقر فوقTools > References، ثم فعّل خانة الاختيار بجانبMicrosoft Scripting Runtime في مربع الحوارReferences – Project1.

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

5. بعد النقر على زرYes، سيظهر مربع حوارBrowse For Folder. يُرجى اختيار المجلد الذي تريد حفظ الملف فيه، ثم النقر على زرOK.

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

7. اذهب إلى المجلد الذي تم حفظ الملف المصدر فيه، وافتح ملف الامتداد .TXT باسمAddress لرؤية عناوين البريد الإلكتروني للمرسِلين الخاصة بالرسائل المحددة.

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


🚀 التنزيل بنقرة واحدة — احصل على جميع إضافات Office
موصى به بشدة: Kutools for Office (5 في 1)
نقرة واحدة لتنزيلخمسة برامج تثبيتدفعة واحدة —Kutools لـ Excel وOutlook وWord وPowerPointوOffice Tab Pro.انقر للتنزيل الآن!
- ✅سهولة النقرة الواحدة: نزِّل جميع حزم الإعداد الخمس دفعة واحدة!
- 🚀جاهز لأي مهمة في Office: ثبِّت الإضافات التي تحتاجها، متى احتجتَ إليها.
- 🧰متضمَّن: Kutools لـ Excel / Kutools لـ Outlook / Kutools for Word / Office Tab Pro / Kutools for PowerPoint