c# - 如何从 Outlook 获得正确的别名?
问题描述
我有一个数据库,其中使用别名作为键来引用用户。我正在写一个outlook插件,它使用to、cc等地址在数据库中查找数据。问题是在 Microsoft,您可以有两个别名:一个是单个字符串,例如:jdoe@microsoft.com。另一种是使用点分隔的名称:Jane.Doe@microsoft.com。两者都是同一个人的有效地址。有没有办法找到所有有效的别名,或者至少从 Jane.Doe 中找到常规的电子邮件别名?
我已经尝试获取交换用户并获取文件夹。没有任何效果。
解决方案
是的,阅读PR_EMS_AB_PROXY_ADDRESSES
MAPI 属性(DASL 名称http://schemas.microsoft.com/mapi/proptag/0x800F101F
,使用OutlookSpy查看该属性和其他 GAL 属性 - 单击 IAddrBook 或 IMAPISession|QueryIdentity)使用AddressEntry.PropertyAccessor.GetProperty
. 它是一个多值 ( PT_MV_UNICODE
) 属性,因此您将得到一个字符串数组。默认 SMTP 地址将以 " 为前缀SMTP:"
。其他地址将以"smtp:"
.
推荐阅读
- javascript - 我正在构建一个应该能够包含小数点以用于计算的数字,我哪里出错了?
- flutter - 有没有办法在不使用 Listview、Gridview 的情况下在 List 中生成小部件?
- python - ModuleNotFoundError:没有名为“apiclient.http”的模块
- python - 如何从 tkinter 应用程序中获取变量的值?
- java - 通过删除不等于 17 的连续数字对来计算删除的数字
- c# - ASP.NET Core API - 不使用 JsonPatchDocument 的修补方法
- python - Python Tableau API 什么是 time() 用于 HourlyInterval
- sql - 为什么会出现错误 00933:sql 命令未正确结束?
- r - 如何在 R (ggplot2) 中重新创建这个 excel Barchart + 数据表?
- docker - 为什么 Docker 容器在启动时会被静默删除