如何检查电子邮件地址是否有效Lync用户?

时间:2012-04-05 08:46:23

标签: c# lync lync-2010

我尝试通过以下方法确认电子邮件地址是否为有效的Lync用户,但未提供正确的结果。

LyncClient client = LyncClient.GetClient();
Contact contact = client.ContactManager.GetContactByUri("xxx@xxx.com");

方法1:

if(contact.UnifiedCommunicationType == UnifiedCommunicationType.Enabled)
{
}
else if(contact.UnifiedCommunicationType == UnifiedCommunicationType.NotEnabled)
{
}
else if(contact.UnifiedCommunicationType == UnifiedCommunicationType.Unknown)
{
}

在这种方法中,对于有效的Lync用户,我得到随机电子邮件地址未知和NotEnabled。但是,我没有得到“无效”。

方法2:

ContactType contact_type =                            (ContactType)contact.GetContactInfomration(ContactInformationType.ContactType);

if(contact_type == ContactType.Person)
{
} 
else if(contact_type == ContactType.Invalid)
{
}
else if(contact_type == ContactType.Unknown)
{
}

在这种方法中,无论电子邮件地址如何,我都会收到“人”。因此,我不这样做。

你能告诉我如何实现这个目标吗?

  

注意:我想要做的就是检查传入电子邮件的发件人是否在   outlook是一个有效的lync用户。

2 个答案:

答案 0 :(得分:1)

最后,我找到了从电子邮件地址了解lync联合域的方法。

诀窍是nslookup “_ sipfederationtls._tcp.domainname”的srv记录

请找到C#代码here

答案 1 :(得分:0)

您是否尝试使用“sip:xxx@xxx.com”格式作为电子邮件地址 - 因为它正在对SIP地址进行查找,而不是电子邮件地址。

MSDN在此处提供了一个示例:http://msdn.microsoft.com/en-us/library/hh378561.aspx