我正在使用MailKit发送和接收电子邮件。但是当我尝试获取电子邮件时,出现Authentication Failed
错误。这是我的代码:
using MailKit.Net.Pop3;
using MimeKit;
public List<Email> GetEmails()
{
using var emailClient = new Pop3Client();
emailClient.Connect("pop.mail.yahoo.com", 995, true);
emailClient.AuthenticationMechanisms.Remove("XOAUTH2"); //commenting this line won't help.
emailClient.Authenticate("email", "password"); // this line throws 'Authentication Failed' exception.
var emails = new List<Email>();
for (int i = 0; i < 10; i++)
{
var message = emailClient.GetMessage(i);
var emailMessage = new Email
{
Content = message.TextBody,
Subject = message.Subject
};
emails.Add(emailMessage);
}
return emails;
}
有人有什么想法吗?
我知道这听起来很明显,但是很可能您输入的用户名和/或密码错误。这就是错误的意思。
您可以通过查看日志文件来验证:
var emailClient = new Pop3Client(new ProtocolLogger("pop3.log"))
也许您可以尝试创建新的Yahoo!与您的真实帐户一样无法通过身份验证的邮件帐户,并给我该新帐户的用户名/密码,以便我可以调试问题?
您的用户名或密码是否包含非ASCII字符?标点符号如何?
[如果您希望我对此进行深入研究,我需要知道用户名/密码是什么,以及MailKit在发送错误字符串时会发送什么(肯定不是,但我还是会研究它)。如果您不提供该信息,则无法诊断问题。