Tag: exchangewebservices

使用Exchange EWS SOAP,如何获取给定用户名的电子邮件地址

我正在使用Exchange Web服务端点将NodeJS应用程序的login集成到公司的Active Directory中。 这样我可以validation提供的凭据(用户名和密码)是否与Active Directory用户的凭据匹配。 到目前为止,我能够成功validation用户名/密码对是否有效。 我无法find解决scheme是获得给定用户名的电子邮件地址。 由于NodeJS应用程序将托pipe在公司networking之外,因此我无法直接使用LDAP查询Active Directory。 可用的选项是使用Exchange Web服务(2010)端点。 我目前正在做一个ResolveNames操作http://msdn.microsoft.com/en-us/library/exchange/aa563518(v=exchg.150).aspx 问题是使用用户名作为UnresolvedEntry值Resolvenames将返回几个解决scheme,例如,如果用户名是john ,目录中也有其他约翰, Resolvenames查询也将返回这些。 我正在寻找一种方法,使用EWS获取用户名(对应于用于查询EWS SOAP服务的有效凭证)的电子邮件地址。

EWS在节点js中推送通知

我正在编写node.js代码,当新邮件到达收件箱文件夹时尝试使用EWS API订阅推送通知。 我成功地通过soap请求来订阅推送通知(请参阅下面的soap请求),并得到了一个subscribeId和watermark,但是,我无法理解交换服务器如何将实际的电子邮件通知发回给我的应用程序。 有没有人有任何想法如何在node js中实现它? 我在互联网上find的大多数例子都是用C#实现的( http://www.codeproject.com/Articles/73834/EWS-Mail-Notifier ) subcripe推送通知的soap请求是: <tns:Subscribe xmlns="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"> <tns:PushSubscriptionRequest> <t:FolderIds> <t:DistinguishedFolderId Id="inbox"/></t:FolderIds> <t:EventTypes> <t:EventType>NewMailEvent</t:EventType> </t:EventTypes> <t:StatusFrequency>1</t:StatusFrequency> <t:URL>http://12.121.22.32:5050/exchange</t:URL> </tns:PushSubscriptionRequest> </tns:Subscribe> 谢谢

当需要ssl为真时,无法调用EWS

我在开发环境中安装了Exchange Server 2010。 我正试图调用EWS服务forms节点JS Web应用程序,这也是在开发环境。 当我设置在IISpipe理器上的EWS网站上需要ssl时,我得到403错误。 这是正常的,因为我的应用程序的URL端点是用http,确切地说: http : //192.168.50.192/EWS/Exchange.asmx 但是,当我尝试与https https://192.168.50.192/EWS/Exchange.asmx是https,我越来越。 我在Web窗体上input这个URL,然后以编程方式组成我发送到这个URL的SOAP请求。 我试图启动ngrok并在本地使用https的整个应用程序,但我得到了相同的结果。 如果ssl证书是问题,ngrok有有效的证书。 请指教。 我是否需要在IIS上应用任何其他设置?

Node.js与MS Exchange EWS的集成

我正在尝试使用Node.js来调用SOAP Exchange EWS服务。 我创build了一个简单的http客户端,如下所示: var https = require('https'); var username = 'user'; var password = 'password'; var auth = 'NTLM ' + new Buffer(username + ":" + password).toString('base64'); var options = { host : 'exchangehost', port : 443, method : 'post', path : '/Exchange.asmx', headers : { Authorization : auth } }; var request = […]