[英]How to get a sender's email address?
我希望 Outlook 對來自某個電子郵件地址的電子郵件執行操作。
在 ThisOutlookSession 我有:
Private Sub Application_NewMail() 'This triggers when a new email is recieved
Call TestSub
End Sub
在一個模塊中,我有:
Public Sub TestSub()
Dim Msg As Outlook.MailItem
Dim FromEmailAddress As String
FromEmailAddress = Msg.SenderEmailAddress
If FromEmailAddress = "Test@example.com" Then
MsgBox ("Hello")
End If
End Sub
我得到
運行時錯誤“91”:
對象變量或未設置塊變量
在FromEmailAddress = Msg.SenderEmailAddress
。
我在我的代碼上嘗試了許多變體並用盡了 Google 的力量。
您可以使用以下代碼:
Dim oInbox As Outlook.Folder
Dim oItem As Object
Dim Msg As MailItem
Set oInbox = ActiveExplorer.Session.DefaultStore.GetRootFolder().Folders("Inbox")
For Each oItem In oInbox.Items
If TypeOf oItem Is MailItem Then
Set Msg = oItem
FromEmailAddress = Msg.SenderEmailAddress
Else
Debug.Print "Skipping " & TypeName(oItem)
End If
Next
檢查發件人是SMTP
還是GetExchangeUser
也很好
Dim Email_Address As String
If Item.SenderEmailType = "SMTP" Then
Email_Address = Item.SenderEmailAddress
Else
If Item.SenderEmailType = "EX" Then
Email_Address = Item.Sender.GetExchangeUser.PrimarySmtpAddress
End If
End If
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.