爲了總結我的目標,我真的只是尋找一種簡單的開源方法,它允許我創建和維護一個(最好是noSQL db)一個/多個遠程IMAP電子郵件帳戶的備份/實現,並基於每個用戶進行同步每個個人用戶的電子郵件帳戶使用簡單,低成本的解決方案,可輕鬆擴展,以高效的方式消耗服務器資源,增加功能,每個用戶需要能夠通過簡單地將他的新imap帳戶添加到他的中央電子郵件存檔中現有電子郵件客戶端使用通過此存檔服務器/設置提供的imap服務器,用戶名和密碼。如何在couchdb/NoSQL數據存儲上實現IMAP服務器?
更具體地:
我一直在尋找一些類型的可伸縮的開源溶液可以在其允許以下的雲中運行(並且因此容易地向外擴展):
1)允許我指定各種IMAP服務器與登錄信息,用於訪問這些電子郵件帳戶和下載/同步每個帳戶內的所有電子郵件(希望包括文件夾/標籤)
2)關於數據庫用於存儲每個帳戶的所有電子郵件,我正在研究可擴展解決方案如couchdb或mongodb,這大概會保持每個電子郵件的簡單索引。此索引將保留每封電子郵件的基本信息,例如標題列,包括:從,到,數據時間戳,主題行,關聯的文件夾/標籤,首次同步日期時間,上次同步日期時間,讀/未讀狀態,附件,附件文件名/大小/類型以及它所屬的相關IMAP帳戶,....)
3)根據所有原始電子郵件的存儲情況,包括其附件我認爲應該下載每個單獨的電子郵件作爲具有唯一文件名/消息ID的單獨文件,其將在主電子郵件索引內引用,因此所有這些原始電子郵件都可以使用Amazons S3存儲解決方案來存儲,以實現無限的可擴展性。
到目前爲止,我相信現有的Opensource解決方案可以用於或定製以實現這些目標......最值得注意的是,「offlineIMAP」似乎提供了所有這些功能+更多,但如果您意識到不同替代請讓我知道。
好了,現在我不確定元素...
5)我需要的這裏是利用任何類型的電子郵件客戶端,它本身支持通過IMAP連接訪問電子郵件的方式,現在給我能夠連接到我的自定義電子郵件數據庫,就好像它是一個普通的imap電子郵件服務器一樣。因此,我需要某種類型的連接器,它將imap協議連接到在couchdb上執行的操作(或使用任何數據存儲)。當然,任何標準的iMac功能都應該是可能的,例如搜索/複製/移動/刪除/ ...,通過檢索Amazon S3存儲系統中的關聯電子郵件來檢索郵件的詳細信息。 (我只是假設這種方法最大限度地降低了成本這樣做
假設我的邏輯和方法在使用此方法中使用couchdb/mongodb方面是合理的,那麼在我看來,這安裝程序應該確實允許我輕鬆地將其擴展到多個用戶,並且訪問存檔應該相當快...
有沒有人有與實現這些目標相關的經驗,建議或建議/腳本?
如果電子郵件歸檔設置和使用Amazon S3存儲實際電子郵件,我可以想到的唯一不利的副作用是用戶無法通過關鍵字搜索其歸檔的內容(正文) 。我想這可以通過簡單地向couchdb電子郵件索引添加另一列來解決,該列可以從電子郵件中提取所有實際的消息文本(不包括任何以前的回覆/轉發內容中的內容)。
DB!= IMAP服務器。數據庫不會說IMAP協議 – 2011-11-26 04:17:49
自然我知道,couchdb和數據庫通常不提供通過IMAP協議進行連接的能力,因此我正在尋找建立這種連接的最佳方法。 –