0

我試圖製作一個郵件客戶端,它只是HTML5/JS,用戶必須定義​​他們的郵件服務器和憑證。我將使用什麼庫/函數來創建郵件客戶端?

我衝浪谷歌導致死角,並認爲這是下一個最好的地方(或超級用戶.com)。

我正在考慮使用HTML5 WebSocket,如果我能夠連接到服務器,但我不知道smtp,imap或pop3的架構足夠了解javascript如何傳遞參數並執行我想要的去做。

PHP不能參與這個項目,否則我不會問這個問題。

任何幫助定位這將是太棒了。

回答

2

沒有什麼是不可能的。除此之外。

在標準的HTML或JavaScript中,您無法進行原始套接字連接,這就是您需要說出您列出的任何協議的原始套接字連接。 WebSocket API不能幫助你,因爲服務器還必須說出WebSockets,而郵件服務器不會。不過這實際上是一件好事。試想一下,如果你訪問了一個隨機網站,並且它被遠程登錄到你的家庭路由器,將其設置爲着火併燒燬你的房子。這就是網站能夠發起簡單的TCP套接字連接所能做到的。

我有幾個選擇,我可以想到,這兩個選項都不涉及構建網頁。 (並且很明顯,你沒有說你的項目必須是網頁,你只是說HTML/JS,所以這些確實是合法的選擇。)

首先是類似於node-webkit。自述文件中提到,「您可以使用node-webkit在HTML和Javascript中編寫本機應用程序。」您仍然必須將其作爲本地應用進行分發,因爲這就是它的原因。

其次是Chrome app,具體使用chrome.socket API。但是,在這些套接字上寫一個TLS圖層很有趣,現在幾乎所有的郵件服務器都需要它。如果您成功完成這項工作,則可以在Chrome網上應用店中分發您的郵件客戶端,我向您保證電子郵件客戶端將會非常流行。第三,編寫一個在本地運行的網絡服務器,以便用戶在瀏覽器中訪問諸如http://localhost:9999/mail之類的內容。這將是一個真正的痛苦分佈,但你幾乎可以使用任何你想要的技術。

我確定有第四個有效的選項,而其他人可以在那個選項中加入。

祝你好運。

+0

Chrome應用程序是這個計劃,因爲它沒有鉻筆記本電腦,聽到很多我認識的人說:「如果我有(我在這裏插入產品類型),我會喜歡我的chromebook。」這將是一個打包的應用程序,這就是即時通訊的內容。感謝您的正確方向! – 2013-04-25 16:43:53

+0

請明星https://code.google.com/p/chromium/issues/detail?id=132896,它會提供您想要的安全套接字API。同時,您當然可以在Chrome應用的非安全版本上取得進展,也許在您準備發佈時,該錯誤將得到修復。 – sowbug 2013-04-26 00:30:22

相關問題