2011-12-15 68 views
4

使用OpenPop連接到Gmail時,即使我不刪除它,我也只能檢索一次電子郵件。使用GetMessageCount()我總是收到0封電子郵件。我如何獲得那裏的所有電子郵件?OpenPop - Gmail - GetMessageCount()返回0(零)

只有在讀取它們並處理它們之後,才能發出刪除命令。我正在使用以下代碼來獲取電子郵件:

using (var client = new Pop3Client()) 
{ 
    // Connect to the server 
    client.Connect(serverData.Hostname, serverData.Port, serverData.UseSsl); 

    // Authenticate ourselves towards the server 
    client.Authenticate(serverData.Username, serverData.Password, AuthenticationMethod.UsernameAndPassword); 

    var emailAmount = client.GetMessageSizes().Count; 

    // Fetch all the current uids seen 
    var msgCount = client.GetMessageCount(); 

    ..... 
} 

回答

7

Gmail是特別的。看看this StackOverflow post,它解釋了非標準行爲。

你有興趣在什麼是,Gmail將只有在ONE POP3會話顯示一條消息,除非你做特別的東西,比如前面加上近期:在您的用戶名前

+0

是否有可能讓我的應用程序每次請求都有一些新的會話?如果是的話,怎麼樣?我不知道Gmail的技術部分是如何跟蹤會話或應用ID以瞭解他們是否回答,但是一直以來「假」一個新ID是很酷的。 – Dryadwoods 2011-12-16 09:06:50

1

只獲取未讀郵件是POP3應該如何工作。如果您想查看和管理舊郵件,則應該使用IMAP。