ActiveSync库

Jam*_*les 7 c++ activesync

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

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

我不能使用Windows API,因为它们不能在Linux和Mac上运行.

小智 10

我曾经使用SynCE项目来支持连接到桌面Linux机器的Windows Mobile设备,因此可以提供一些指示.

你的意思是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开发人员编写的推送邮件服务器的示例:SynCE Airmail

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

在该代码中,我认为SyncEngine/airsync.py对您最有用.

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

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

最后,Microsoft确实提供了协议的文档:


Goz*_*Goz 2

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