从Outlook 2010中的VBA访问“From:”

问题描述:

我在Outlook 2010中配置了“[email protected]”账户。撰写邮件并打开“From:”下拉列表。我选择“其他电子邮件地址...”并输入“[email protected]”。我弹出一个消息,询问是否通过“[email protected]”帐户发送来自“[email protected]”的邮件。我“确定”了。现在当我将消息发送到“[email protected]”,收件人看到从Outlook 2010中的VBA访问“From:”

来源:[email protected]

奇怪的是,当我去检查[email protected]/Sent项目,所有我看到的是

来源:[email protected]

我对这种行为很沮丧,因为我想移动取决于发送账户发送的项目。最初我着眼于创建一个发送规则。令人激动的是,没有选择基于“发件人:”采取任何行动的选择。所以我深入VBA。我得到了大部分代码来移动这些东西,但是当我查看邮件项目对象(在本地窗口中)时,我找不到任何声明“[email protected]”的属性。

任何人都可以建议如何从外发邮件项目提取答复(我猜是)地址?

这是很奇怪的,这封电子邮件的Outlook中的收件人会看到

来源:[email protected]代表[email protected]

,但在Outlook邮件项目SendOnBehalf财产发送只是读取“[email protected]”。

任何意见非常赞赏。谢谢。

+0

我早就猜到你可以在'mailobject.Sender'或'mailobject.ReplyRecipients'(集合)中找到它。他们说什么? – 2013-03-19 13:29:44

+0

谢谢。发件人说“[email protected]”和ReplyRecipients根本没有任何项目,相当惊人。 – Ollie2893 2013-03-19 15:16:05

尝试设置SentOnBehalf这样

Option Explicit 

Sub SetSentOnBehalf() 

Dim objMsg As MailItem 

Set objMsg = Application.CreateItem(0) 

objMsg.SentOnBehalfOfName = "[email protected]" 

objMsg.Display 

MsgBox " SentOnBehalfOfName in the From: " & objMsg.SentOnBehalfOfName 

Set objMsg = Nothing 

End Sub