2012-04-05 78 views
1

我试图通过以下方法确认电子邮件地址是否为有效的Lync用户,但它没有给出正确的结果。如何检查电子邮件地址是否有效Lync用户?

LyncClient client = LyncClient.GetClient(); 
Contact contact = client.ContactManager.GetContactByUri("[email protected]"); 

方法一:

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

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

方法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) 
{ 
} 

在这种方法中,我得到 “人” 无论EMAILADDRESS的。因此,我不这样做。

你能请教我如何做到这一点?

注意:我想要做的就是检查传入电子邮件的发件人Outlook中的 是否为有效的lync用户。

回答

1

最后,我发现,了解从电子邮件地址的Lync联盟域的方式。

诀窍是与nslookup SRV记录为“_sipfederationtls._tcp.domainname”

请找C#代码here

0

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

MSDN这里有一个例子:http://msdn.microsoft.com/en-us/library/hh378561.aspx

+0

我后期的答复遗憾,但加入 “SIP:” 来当我尝试使用上述两种方法时,电子邮件地址与结果没有任何区别。有没有办法检查SRV记录?(我不确定) – Coder323 2012-04-10 01:44:42

相关问题