2010-08-27 36 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傳遞。

最後,微軟確實提供了協議文檔: