Outlook VSTO中CurrentUser.Address的电子邮件地址格式不正确

时间:2017-10-31 09:42:27

标签: c# outlook vsto outlook-addin

我正在尝试使用

获取当前用户的Outlook电子邮件地址
 Globals.ThisAddIn.Application.Session.CurrentUser.Address;

显示的值有点像这样:

  

“/ o = ExchangeLabs / ou = Exchange管理组(xxxxxxxxx)/ cn =收件人/ cn = xxxxxxxxxxxxxxxxx- [我的电子邮件地址的开头就在这里]”

第一个问题是电子邮件地址已被切断。我起初认为这是一个断点问题,但在修改字符串后我发现它只是默认情况下被切断了。第二个是我只想要没有所有数据的电子邮件地址值。我可以编辑掉字符串,但我正在寻找获得价值的正确方法。

当用户通过Exchange登录时,此方法有效。

Globals.ThisAddIn.Application.Session.CurrentUser.AddressEntry.GetExchangeUser().PrimarySmtpAddress;

我正在寻找未通过Exchange登录的用户的等价物。

我找到了Email Address of the Current User,但它是一个老线程,所有解决方案看起来都非常糟糕。

1 个答案:

答案 0 :(得分:0)

检查AddressEntry.Type属性。如果是“EX”,请使用GetExchangeUser().PrimarySmtpAddress。否则,只需阅读Address属性。