2011-08-05 30 views
1

OpenPop.Netを使用して、C#アプリケーションでGoDaddyのホスト電子メールアカウントに接続しています。 Authenticate()メソッドは、 "応答を取得するために使用されたストリームが閉じられました"というエラーメッセージとともに例外をスローします。私はPOPServer、POPPort、POPUserName、およびPOPPassword値は、認証()メソッドは、3番目のパラメータ、AuthenticationMethodが呼ばれる列挙をサポートしてい展望2007OpenPop.Net認証例外の解決方法

using (Pop3Client pop3 = new Pop3Client()) 
{ 
    pop3.Connect(POPServer, POPPort, false); 
    pop3.Authenticate(POPUserName, POPPassword); 

    Int32 messageCount = pop3.GetMessageCount(); 
} 

答えて

9

を使用して有効であったことを確認倍増しました。ヘルプファイルによると、3番目のパラメータが渡されない場合、Authenticate()メソッドはデフォルトでAutoの認証方法になります。ヘルプファイルは、Autoメソッドが認証に推奨されるメソッドであると言います。 Apopがサーバーによってサポートされている場合、Apopは認証に使用されます。 Apopがサポートされていない場合、AutoはUsernameAndPassword認証に戻ります。

私は明示的にAutoを渡してみましたが、Authenticate()メソッドは同じエラーで失敗しました。私はUsernameAndPasswordを明示的に渡そうとしましたが、今回はうまくいきました。私はこれがOpenPop.NetのバグかPOPサーバーの問題か分かりません。ここに作業コードがあります。

using (Pop3Client pop3 = new Pop3Client()) 
{ 
    pop3.Connect(POPServer, POPPort, false); 
    pop3.Authenticate(POPUserName, POPPassword, AuthenticationMethod.UsernameAndPassword); 

    Int32 messageCount = pop3.GetMessageCount(); 
} 
+3

こんにちは。私はOpenPopの開発者です。これは既知の問題です。問題は、POP3サーバがAPOPをサポートしているPOP3クライアント(ここではOpenPop)に正しく通知することですが、実際にはそうではありません。したがって、サーバがAPOPメソッドを使用してログインしようとすると失敗します。大部分のサーバーは、私が知る限り、クライアントにAPOPをサポートしているかどうかを正確に伝えます。あなた自身が解決策を見つけたことは良いことです。たぶんヘルプファイルのコメントは、あなたの問題を抱えている次の人に役立つでしょう。するだろう:) – foens

+0

もし私ができるなら、私はあなたに2度upvoteだろう – Dimitri

関連する問題