我正在尝试连接到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协议访问电子邮件的权限。