Outlook'ta bir veya daha fazla e-postadan gönderenin e-posta adresini nasıl alabilirim?
Outlook'ta bir veya daha fazla alınan e-postanın "Kimden" alanında yer alan e-posta adresini çıkarmayı denediniz mi? Bu makale, size bu görevde yardımcı olacak bir VBA kodu sunmaktadır.
Outlook'ta bir veya daha fazla e-postadan gönderenin e-posta adresini alın
Lütfen aşağıdaki VBA kodunu çalıştırarak Outlook'ta bir veya daha fazla alınan e-postanın "Kimden" alanında yer alan e-posta adresini çıkarın.
1. Bir e-posta klasörü açın ve gönderenin e-posta adresini almak istediğiniz bir e-posta mesajı seçin. Microsoft Visual Basic for Applications penceresini açmak için Alt + F11 tuşlarına basın.
Not: Birden fazla e-posta seçmek için lütfen Ctrl tuşuna basılı tutun ve ardından e-postaları tek tek seçin.
2. Microsoft Visual Basic for Applications penceresinde, Ekle > Modül'e tıklayın, ardından aşağıdaki VBA kodunu Modül (kod) penceresine kopyalayın.

VBA Kodu: Outlook'ta bir veya daha fazla e-postadan gönderenin e-posta adresini çıkarın
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. Araçlar > Referanslar'a tıklayın, ardından Referanslar – Proje1 iletişim kutusunda Microsoft Scripting Runtime kutucuğunu işaretleyin.

4. Kodu çalıştırmak için F5 tuşuna basın. Ardından bir Kutools for Outlook iletişim kutusu açılır ve seçilen e-postaların tüm gönderen e-posta adreslerini listeler.
İpuçları:

5. Evet düğmesine tıkladıktan sonra Gözat Klasör iletişim kutusu açılır. Lütfen dosyayı kaydetmek için bir klasör seçin ve Tamam düğmesine tıklayın.

6. Son olarak, bir Kutools for Outlook iletişim kutusu açılır ve size dışa aktarılan dosyanın yolunu bildirir. Kapatmak için Tamam'a tıklayın.

7. Dışa aktarılan dosyanın kaydedildiği klasöre gidin ve Adres adlı .txt dosyasını açarak seçili e-postaların gönderen e-posta adreslerini görüntüleyin.

En İyi Ofis Verimlilik Araçları
Flaş Haber: Kutools for Outlook Ücretsiz Sürümü Yayında!
Yepyeni Kutools for Outlook'u100’den fazla harika özellikle deneyimleyin! Hemen indirin!
📧 E-posta Otomasyonu: Otomatik Yanıt (POP ve IMAP için Mevcut) / E-postaları Zamanla Gönder / Gönderirken Kural ile Otomatik CC/BCC / Otomatik Yönlendirme (Gelişmiş Kurallar) / Otomatik Selamlama Ekle / Birden Fazla Alıcılı E-postaları Otomatik Olarak Bireysel E-postalara Böl ...
📨 E-posta Yönetimi: E-postayı Geri Çağır / Konu ve Diğerlerine Göre Sahtekarlık E-postalarını Engelle / Yinelenen E-postaları Sil / Gelişmiş Arama / Klasörleri düzenle ...
📁 Ekler Pro: Toplu Kaydet / Toplu Ayır / Toplu Sıkıştır / Otomatik Kaydet / Otomatik Ayır / Otomatik Sıkıştır ...
🌟 Arayüz Sihri: 😊Daha Fazla Şık ve Güzel Emoji / Önemli e-postalar geldiğinde seni uyarır / Outlook’u Kapatmak Yerine Küçült ...
👍 Tek Tıkla Harikalar: Tümüne Eklerle Yanıtla / Kimlik Avı (Phishing) E-postalarına Karşı Koruma / 🕘Gönderenin Saat Dilimini Göster ...
👩🏼🤝👩🏻 Kişiler & Takvim: Seçili E-postalardan Toplu Kişi Ekle / Bir Kişi Grubunu Bireysel Gruplara Böl / Doğum günü hatırlatıcısını kaldır ...
Kutools'u tercih ettiğiniz dilde kullanın – İngilizce, İspanyolca, Almanca, Fransızca, Çince ve40’tan fazla dil desteği!

