[英]Reply body conditioned by mailbox it is sent from
因此,我的Outlook帳戶下有多個郵箱,我試圖讓它們根據我要回復的郵箱生成回復模板(一個是私有的,一個是共享的)。 我試圖將條件基於SenderName和SenderEmailAddress ,但無濟於事(回復的電子郵件是使用檢索到的先前電子郵件的內容生成的,但是我要放在其前面的文本不存在;原因是該值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.