2011-12-15 6 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

リクエストごとに新しいセッションを作成することは可能ですか?はいの場合、どうですか?私は彼らが答えているかどうかを知るためにセッションやアプリのIDをどのように追跡するかについてGmailの技術的な部分を知らないが、常に新しいIDを "偽造"するのはすばらしいだろう。 – Dryadwoods

+0

「セッション」は単なる接続です。新しい接続は新しいセッションを意味します。これが新しいセッションを獲得する唯一の方法です。 Gmailの問題は、1つのセッションで新しいメールのみを表示することです。あなたが投稿のようにしない限り、すべての後のセッションはそれを見ません。たとえば、あなたのユーザー名を使用して接続します。「recent:」詳細は投稿を参照してください。 – foens

1

のみ未読メールを取得しているPOP3が動作するようになっていますか。古いメールを表示して管理したい場合は、代わりにIMAPを使用する必要があります。

関連する問題