MailKit无法对IMAP进行身份验证



我已经阅读了每个MailKit问题,但我的问题仍然不起作用。我已经删除了我的实际登录密码,但它们对帐户来说是正确的。

using (var client = new ImapClient(new ProtocolLogger(@"c:tempimaplog.txt")))
{
try
{
client.Connect("outlook.office365.com", 993, true);
client.AuthenticationMechanisms.Remove("XOAUTH2");
client.AuthenticationMechanisms.Clear();
client.SslProtocols = SslProtocols.Tls;
client.Authenticate(<username>,<password>);
//var inbox = client.mai;
//inbox.Open(FolderAccess.ReadWrite);
//var uids = await inbox.SearchAsync(MailKit.Search.SearchQuery.NotSeen);
}
catch (Exception exc)
{
}
}

IMAP日志文件

Connected to imaps://outlook.office365.com:993/
S: * OK The Microsoft Exchange IMAP4 service is ready. [UwBOADYAUABSADAAMQBDAEEAMAAwADAAMwAuAHAAcgBvAGQALgBlAHgAYwBoAGEAbgBnAGUAbABhAGIAcwAuAGMAbwBtAA==]
C: A00000000 CAPABILITY
S: * CAPABILITY IMAP4 IMAP4rev1 AUTH=PLAIN AUTH=XOAUTH2 SASL-IR UIDPLUS MOVE ID UNSELECT CHILDREN IDLE NAMESPACE LITERAL+
S: A00000000 OK CAPABILITY completed.
C: A00000001 LOGIN username password
S: A00000001 NO LOGIN failed.

您需要进入Office365设置,并确保允许IMAP通过"不太安全的应用程序"登录。

FYI:https://developer.microsoft.com/en-us/office/blogs/end-of-support-for-basic-authentication-access-to-exchange-online-apis-for-office-365-customers/

换句话说,您需要在2020年10月之前开始使用XOAUTH2。

最新更新