簡體   English   中英

如何獲取發件人的電子郵件地址?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM