我有一个使用EWS发送邮件的vb.net应用程序。用户帐户没有邮箱,但具有代表另一个邮箱发送的权限。通常这段代码运行正常,因为它有完整的电子邮件地址要发送,但是当我尝试通过解析名称找到地址时它失败了:
将请求作为没有邮箱的帐户发出时,必须为任何可识别的文件夹ID指定邮箱主SMTP地址。
代码如下:
Private Function ResolveName(ByVal Name As String) As String
Dim returnValue As NameResolutionCollection
returnValue = _MainService.ResolveName(Name)
Dim resolution As NameResolution
For Each resolution In returnValue
Return resolution.Mailbox.Address
Next
Call _Owner.LogThreadMessage(frmMain.ObjectTypes.Error, "Error resolving address", Name)
Return ""
End Function
我认为不知怎的,它试图使用用户帐户来访问通讯录,而不是邮箱。
答案 0 :(得分:2)
只是因为其他人遇到同样的问题,我通过查看目录来解决这个问题:
returnValue = _MainService.ResolveName(Name, ResolveNameSearchLocation.DirectoryOnly, True)
我认为现在正在查看全球地址列表而不是联系人,而这些联系人不存在。