VSTO Outlook技术问询:能否修改检查器窗口的发件人文本
修改Outlook检查器窗口“发件人”字段显示文本的可行性及信息来源
能否修改显示文本?
分两种场景来看:
- 已接收的邮件:无法直接修改检查器窗口里的发件人显示文本——这个字段和邮件的原始MIME头数据绑定,Outlook默认会读取原始邮件信息展示,不支持直接编辑。但可以通过两种间接方式实现临时展示修改:
- 用Outlook VBA脚本:编写代码在检查器窗口加载时,修改对应UI控件的显示文本。这种修改只在当前窗口生效,关闭后再打开邮件就会恢复原样。示例代码如下:
Private Sub Inspectors_NewInspector(ByVal Inspector As Inspector) Dim objMail As MailItem If TypeName(Inspector.CurrentItem) = "MailItem" Then Set objMail = Inspector.CurrentItem ' 遍历控件找到发件人相关控件,不同Outlook版本控件ID可能有差异 Dim ctl As Control For Each ctl In Inspector.CommandBars.FindControls If ctl.Caption = "发件人" Then ctl.Caption = "自定义显示文本" Exit For End If Next ctl End If End Sub - 借助第三方Outlook插件:部分插件支持自定义邮件查看界面,替换发件人字段的显示内容,但同样不会改变邮件的原始数据。
- 用Outlook VBA脚本:编写代码在检查器窗口加载时,修改对应UI控件的显示文本。这种修改只在当前窗口生效,关闭后再打开邮件就会恢复原样。示例代码如下:
- 待发送的新邮件:可以修改发件人显示名称,前提是你拥有对应发件权限(比如共享邮箱、代理发送权限)。在新邮件窗口点击“发件人”字段,选择“其他电子邮件地址”,输入想要显示的名称和对应邮箱地址即可,这个设置会同步到邮件发送数据中,接收方看到的发件人信息就是你自定义的内容。
发件人信息的来源
Outlook检查器窗口的“发件人”字段信息,读取自以下位置:
- 已接收邮件:读取邮件的
FromMIME头字段,格式一般为显示名称 <邮箱地址>,Outlook会解析该字段提取信息展示。如果是Exchange服务器接收的邮件,还会同步Exchange地址簿中的联系人信息,优先显示地址簿里对应的联系人名称。 - 待发送邮件:默认使用当前登录账户的显示名称和邮箱地址,或者你手动选择的发件账户/自定义填写的信息。
内容的提问来源于stack exchange,提问作者Willy
相关产品推荐
相关产品推荐

