2011-09-23 72 views
1

我有一個客戶服務的網絡應用程序的要求,這需要我工作拉&整合來自Gmail,eBay,亞馬遜和PayPal的數據。我的解決方案將在ASP.Net 4中用C#開發。如何以編程方式從Gmail獲取所有(讀取和未讀取)消息,讀取狀態等?

我遇到的問題是,我的客戶端需要幾乎所有關於每個電子郵件的信息,這些電子郵件來自&來自Gmail的ATOM源似乎有點欠缺。我意識到我也可以使用POP3或IMAP,但也由於多種原因而缺乏。

具體而言,客戶端需要讀取電子郵件的狀態(不管他們是否已經閱讀了發送給他們的電子郵件)。他們還需要所有的過濾器保持完好。所以如果一封電子郵件標有x,y,& z,那麼我需要知道它。

ATOM飼料只顯示我未讀的電子郵件,所以沒有了。 POP3不知道他們是否閱讀過電子郵件(除非我把它拉入數據庫並管理閱讀狀態,我自己......但是如果他們真正閱讀郵件,這是行不通的從gmail本身)。

IMAP 似乎喜歡它會給我我需要的一切,但我不是100%肯定的。你們都在想什麼?另外,IMAP速度慢。有人知道任何相當快的體面的圖書館。我們目前正在討論一個客戶收件箱,其中有大約36萬條消息,客戶希望這些消息保留在gmail &不適用於斷開連接的數據庫。

想法/意見?

+0

http://code.google.com/intl/pl-PL/apis/gdata/client-cs.html也許? –

+0

@Morawski這是我第一次看到的庫,它只是ATOM的一個包裝,所以它也只爲我提供未讀消息,除非我錯過了一些東西。 – coderpros

+0

你不是,我沒有檢查它,這只是我的第一個想法。 –

回答

0

IMAP確實爲每封郵件提供了讀取/未讀取狀態,您可以從特定「標籤」(文件夾)中提取或從「全部郵件」存儲桶中提取。您不需要提取整個郵件,只需要標題,讓您能夠快速掃描許多電子郵件。

我一直在研究一個程序來拉我的整個gmail數據集,爲我自己的修補和處理。我使用的是linux,雖然有很多imap'mirror'和imap'處理'應用程序,但我只想玩數據,能夠做到我想要的東西,而不會將其填充回本地一個imap服務器。它一直工作得體,我使用電子郵件的UID(稍微修改)作爲文件名來轉儲標頭&電子郵件數據。當然,你可以按摩數據並更新數據庫或者其他任何東西,我只是在稍後進行後期處理。在我的電子郵件中尋找趨勢,主要是修補。

我嘗試使用etpan庫進行IMAP處理,沒有找到他們我喜歡的,所以我一直在從其他電子郵件程序和服務器拉imap例程玩。我有RFC,但是如果我可以幫助的話,真的很想在這裏重新發明輪子。

是的,不是最好的答案,但希望有一些信息來幫助。我想有很好的PHP庫或其他基於Web的系統,我一直在使用C++/C。