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