-1

C# を使用して Yahoo アカウントのメールを取得しようとしています。私はOpenPopをテストしてそれを書いた

Pop3Client objClient = new Pop3Client();
objClient.Connect("pop.mail.yahoo.com", 995, true);
objClient.Authenticate("username","pass",AuthenticationMethod.UsernameAndPassword);
int msgCount = objClient.GetMessageCount();
MessageBox.Show(msgCount.ToString());

サーバーが常にユーザー資格情報を受け入れないという問題ですが、資格情報は問題ないと確信しています。

Gmailアカウントで同じコードを試してみましたが、すべて問題ありませんでした.Yahooに設定してほしいものがありますか?

4

2 に答える 2

1

電子メール プログラムを介して Yahoo メールにアクセスするには、Yahoo メール プラスの加入者である必要があります。

1. Sign in to Yahoo Mail.
2. Move your cursor over the gear icon (Gear Icon) and select Mail Options.
3. Select POP & Forwarding.
- The "Access your Yahoo Mail elsewhere" option displays.
4. Select the radio button next to Access Yahoo Mail via POP.
5. Click Save.
于 2013-09-27T09:57:27.497 に答える
0

次のコードを試してください:

try
 {
    if (pop3Client.Connected)
        pop3Client.Disconnect();

    pop3Client.Connect("pop.mail.yahoo.com", 995, true);
    pop3Client.Authenticate("your@yahoo.com", "yourpassword");
    int count = pop3Client.GetMessageCount();
}
catch (InvalidLoginException)
{
   //MessageBox.Show(this, "The server did not accept the user credentials!", "POP3 Server Authentication");
}
catch (PopServerNotFoundException)
{
   //MessageBox.Show(this, "The server could not be found", "POP3 Retrieval");
}
catch (PopServerLockedException)
{
   //MessageBox.Show(this, "The mailbox is locked. It might be in use or under maintenance. Are you connected elsewhere?", "POP3 Account Locked");
}
catch (LoginDelayException)
{
   //MessageBox.Show(this, "Login not allowed. Server enforces delay between logins. Have you connected recently?", "POP3 Account Login Delay");
}
catch (Exception e)
{
   //MessageBox.Show(this, "Error occurred retrieving mail. " + e.Message, "POP3 Retrieval");
}
于 2012-06-28T12:42:29.597 に答える