2010-08-27 58 views
7

我在写一个跨平台的C++应用程序,需要连接到Exchange服务器并使用ActiveSync下载邮件。ActiveSync库

是否有任何库可用于ActiveSync(最好是开源)?

我无法使用Windows API,因为它们将不能在Linux中运行& Mac。

+0

是你能得到这个工作,如果是的话,你可以分享解决方案/你用过的方法? – mwag 2016-11-17 16:27:37

回答

3

Z-Push可能会为您提供所需的开始。

+0

也有人使用z-push(或第一个答案中提到的任何其他替代方法)?关于这个重要的话题似乎没有太多的说法 – abbood 2012-12-06 10:39:44

10

我曾经与支持连接到桌面Linux机器的Windows Mobile设备的SynCE项目一起工作,所以可以提供一些指示。

你的意思是ActiveSync或AirSync? AirSync是通过无线协议和ActiveSync实际转移数据的协议,ActiveSync是用于同步连接到计算机的WinMo设备的整个协议栈。 SynCE是唯一与ActiveSync等效的开源“完整堆栈”,从驱动程序到AirSync到GUI以及与OpenSync的集成,我不知道任何将其自身作为WinMo设备展示给ActiveSync的开源项目。

我不知道AirSync的任何C或C++实现,但我相信Samba和OpenChange团队在原生支持Exchange服务器方面取得了良好进展。大约一年半以前,我被告知,即使支持HTTP(s)传输在所需的工作方面也不远(但我不确定它是否优先)。

虽然不是C++,虽然甚至没有客户端库,但SynCE项目有开源的Python代码,如果找不到其他库,它可能是一个有用的参考。

这里是被写了的同步以太网的一个开发人员的邮件推送服务器的一个例子:SynCE Airmail

和主同步引擎可以在这里找到:SynCE SyncEngine

在这一代码,我认为SyncEngine /airsync.py将对你最有用。

围绕SynCE wiki http://www.synce.org和他们的邮件列表归档进行挖掘是了解遇到的问题以及有关协议是什么和不敏感的令人惊讶的细节的好方法。

您可能会发现http://libwbxml.opensync.org有用 - 在wbxml层被解码之后AirSync只是XML传递。

最后,微软确实提供了协议文档: