如何通过MAPI/EWS获取Exchange代理/代表发送显示控制规则
解答
不存在通过MAPI、EWS这类客户端/应用接口直接拉取Exchange服务端全局发件人显示控制规则的公开方法,你能通过接口获取的只有两类关联信息,服务端内置的字段赋值、客户端显示逻辑属于产品固定实现,没有对外暴露可查询的规则配置入口:
- 可查询指定邮箱的发送权限配置
你可以通过接口直接判断某账号对目标邮箱持有的权限类型,提前预判发件人显示效果:- 用EWS时,调用
GetMailbox操作读取目标邮箱的GrantSendOnBehalfTo属性,以及AD中存储的ms-Exch-Send-As访问控制条目,就能区分账号持有的是代表发送还是代理发送权限 - 用MAPI时,打开目标邮箱的ACL权限表,查询对应账号条目的权限掩码,也能直接区分两类发送权限
- 用EWS时,调用
- 可查询单封邮件的实际发件人字段值
邮件完成服务端处理、投递到邮箱后,你可以通过MAPI或EWS拉取邮件的PidTagSender、PidTagSentRepresenting属性组,或是MIME头的From、Sender字段值,直接判断这封邮件实际应用了哪类发送规则。
你提到的服务端字段赋值、收件人端显示逻辑是Exchange和兼容邮件客户端遵循的固定硬编码规则,从Exchange 2007到最新的Exchange Online版本,这套逻辑都没有开放自定义配置入口,自然不存在对外的规则查询接口。所有符合Exchange协议规范的服务端、客户端都默认遵循这套固定逻辑处理:
如果邮件同时存在值不相同的
From和Sender头字段,收件人端显示为「<Sender对应邮箱> on behalf of <From对应邮箱>」;如果仅存在From字段,或是两个字段值完全一致,收件人端直接显示From字段对应的邮箱信息。
内容的提问来源于stack exchange,提问作者aDoubleSo
相关产品推荐
相关产品推荐

