IMAP 服务器以'BAD'响应回复'NAMESPACE'命令:用户已通过身份验证但未连接



我正在尝试连接到Outlook邮箱,从邮件中提取数据,并在DataGrid中使用它们。我的问题是,几秒钟(大约30秒(后,我的应用程序被冻结,并将显示此异常

IMAP服务器对"NAMESPACE"命令的答复为"BAD"响应:用户已通过身份验证,但未连接。我在stackoverflow上读到,这是由微软允许的更多loggins引起的(我认为超过20个(。

我的问题是:如何修复它?我的应用程序正在开发中,所以我没有考虑OAUTH2.0 verification。但这能解决问题吗?

谢谢你的建议。

这就是我使用Mailkit库的方式

public static void MailKitLib(EmailParser emailParser)
{
bool help = true;
do
{
using (var client = new ImapClient())
{
using (var cancel = new System.Threading.CancellationTokenSource())
{

client.Connect(emailParser.ServerName, emailParser.Port, emailParser.IsSSLuse,
cancel.Token);
client.Authenticate(emailParser.Username, emailParser.Password, cancel.Token);
var inbox = client.Inbox;
inbox.Open(FolderAccess.ReadOnly, cancel.Token);

for (int i = 0; i < inbox.Count; i++)
{
var message = inbox.GetMessage(i, cancel.Token);
GetBodyText = message.TextBody;
Problem problem = new Problem(message.MessageId);
if (!dAOProblem.GetAll().Any(x => x.Message_Id.Equals(problem.Message_Id)))
{
dAOProblem.Save(problem);
Alert alert = new Alert(message.MessageId, message.Date.DateTime, message.From.ToString(), 1, problem.Id);
if (!dAOAlert.GetAll().Any(x => x.Id_MimeMessage.Equals(alert.Id_MimeMessage)))
{
dAOAlert.Save(alert);
}

}
}
//client.Disconnect(true, cancel.Token);
}
}
} while (help != false);
}

这是Exchange进入的一种奇怪状态。搜索StackOverflow以查找类似问题。我知道以前有人回答过(即使不是专门针对MailKit(。

该错误意味着您使用了正确的用户名和密码,但您的用户帐户没有通过IMAP协议访问电子邮件的权限。

相关内容

  • 没有找到相关文章

最新更新