簡體   English   中英

發件人以發送郵箱為條件

[英]Reply body conditioned by mailbox it is sent from

因此,我的Outlook帳戶下有多個郵箱,我試圖讓它們根據我要回復的郵箱生成回復模板(一個是私有的,一個是共享的)。 我試圖將條件基於SenderNameSenderEmailAddress ,但無濟於事(回復的電子郵件是使用檢索到的先前電子郵件的內容生成的,但是我要放在其前面的文本不存在;原因是該值oReply.SenderEmailAddress的字段為空,因為Else子句將按預期寫入內容。

(是的,代碼中有一些片段可以對附件進行回復)

Sub ReplyWithAttachments()
    Dim oReply As Outlook.MailItem
    Dim oItem As Object
    Dim sSignature As String

    Set oItem = GetCurrentItem()
    If Not oItem Is Nothing Then
        Set oReply = oItem.Reply

        If oReply.SenderEmailAddress = "mailbox.private@something.com" Then
            sSignature = "Hello and welcome!"
        ElseIf oReply.SenderEmailAddress = "mailbox.shared@something.com" Then
            sSignature = "Go to hell!"        
        End If

        CopyAttachments oItem, oReply
        oReply.HTMLBody = sSignature & oReply.HTMLBody
        oReply.Display
        oItem.UnRead = False
    End If

    Set oReply = Nothing
    Set oItem = Nothing
End Sub

編輯:所以我設法與某處

Set oReply = oItem.Reply
sMailBox = oReply.Sender.GetExchangeUser.Address

If sMailBox = "mailbox.private@something.com" Then
    sSignature = "whatever"
ElseIf sMailBox = "mailbox.shared@something.com" Then
    sSignature = "bla bla bla"
Else
    sSignature = "Something"

該代碼按預期的方式用於共享郵箱,但對於專用郵箱,由於Object變量或Block變量未設置為指向,它會出錯。 發件人

sMailBox = oReply.Sender.GetExchangeUser.Address

我有一些東西可以用來獲取發件人電子郵件(取決於您的電子郵件交換)

Dim strSendersEmailAddress As String

If oItem.SenderEmailType = "EX" Then
    strSendersEmailAddress = oItem.Sender.GetExchangeUser.PrimarySmtpAddress
Else
    strSendersEmailAddress = oItem.SenderEmailAddress
End If

Set oReply = oItem.Reply之前,您必須獲取電子郵件地址。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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