1

我有一个检查邮件收件人的代码,查看地址簿中为收件人设置的组织,并依赖于设置项目的“SentOnBehalfOfName”属性。如果收件人为client2工作,他将收到来自“we_love_to_serve_client2@domain.com”的邮件。

我在通过功能区中的按钮发送邮件之前调用代码,该按钮调用此子:

Sub Signatur()
Dim olApp As Outlook.Application
 Dim objMail As Outlook.MailItem
 Set olApp = Outlook.Application
 Set objMail = Application.ActiveInspector.CurrentItem
Call Signatur_auto(objMail)
End Sub

如果我想知道要选择哪个邮件地址,我会这样做。

在 thisOutlookSession 的 itemSend-section 中,我也调用了相同的子

Call Signatur_auto(Item)

Signatur_auto 的一部分(我没有将其复制进去,问题已经太长了......)正在处理 SentOnBehalfOfName 属性,另一部分是将项目放入正确的文件夹中。根据 SentOnBehalfOfName 属性选择文件夹。

现在到了有趣的部分:虽然文件夹部分一直在工作(这只能在 SentOnBehalfOfName 之前工作过的情况下),但 SentOnBehalfOfName 只工作“一半”。在预览行中,发送的邮件显示为来自“we_serve_client2@domain.com”,但是当我打开邮件时,它说它是我发送的。客户总是只看到我的地址,并且还回答了我的地址 - 我不想要......

怎么可能,相同的代码会根据调用位置而产生不同的结果?更改项目发送部分中的 sendonbehalf-field 是否有问题?

感谢您的任何输入!最大限度

4

1 回答 1

2

为什么它不起作用?

在 ItemSend 中试试这个。

Dim copiedItem As mailItem

Set copiedItem = Item.Copy
copiedItem.SentOnBehalfOfName = "we_love_to_serve_client2@domain.com"
copiedItem.Send    
Item.delete
Cancel = True ' In case your setup generates an error message as described in the comments

为什么它有效?出现“copiedItem.Send”绕过了 ItemSend。

于 2013-10-24T23:32:30.100 回答