Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对于特定用户,使用MailKit对Office 365 Outlook IMAP进行身份验证失败_Outlook_Office365_Imap_Mailkit - Fatal编程技术网

对于特定用户,使用MailKit对Office 365 Outlook IMAP进行身份验证失败

对于特定用户,使用MailKit对Office 365 Outlook IMAP进行身份验证失败,outlook,office365,imap,mailkit,Outlook,Office365,Imap,Mailkit,对于许多客户来说,我们连接到Office 365 Outlook IMAP服务器,而且工作正常。但是,对于一个客户来说,现在它不起作用。我可以使用用户名和密码登录portal.office.com,然后转到Outlook那里查看邮箱,但我一生都无法在我的代码中使用它。这是我的代码: var stream = new MemoryStream(); var logger = new ProtocolLogger(stream, false); using (var client = new Ma

对于许多客户来说,我们连接到Office 365 Outlook IMAP服务器,而且工作正常。但是,对于一个客户来说,现在它不起作用。我可以使用用户名和密码登录portal.office.com,然后转到Outlook那里查看邮箱,但我一生都无法在我的代码中使用它。这是我的代码:

var stream = new MemoryStream();
var logger = new ProtocolLogger(stream, false);

using (var client = new MailKit.Net.Imap.ImapClient(logger))
{
    try
    {
        client.Connect("outlook.office365.com", 993, true);
        client.AuthenticationMechanisms.Remove("XOAUTH2");
        client.Authenticate(@"SVC_CubitDLE@lyse.no", @".whb----%RS*,H^");
        var inbox = client.Inbox;
        inbox.Open(FolderAccess.ReadWrite);
        var uids = await inbox.SearchAsync(SearchQuery.NotSeen);
    } catch (Exception exc){
        exc.Dump();
        stream.Position = 0;
        var reader = new StreamReader(stream);
        reader.ReadToEnd().Dump();
    }
}
我尝试了使用和不使用
client.authenticationMechaniss.Remove(“XOAUTH2”)

引发的异常为
AuthenticationException
,消息为
登录失败。

蒸汽中排放的对数为:

S: * OK The Microsoft Exchange IMAP4 service is ready. [UABSADAAUAAyADYANABDAEEAMAAxADkAOAAuAEYAUgBBAFAAMgA2ADQALgBQAFIATwBEAC4ATwBVAFQATABPAE8ASwAuAEMATwBNAA==]
C: E00000000 CAPABILITY
S: * CAPABILITY IMAP4 IMAP4rev1 AUTH=PLAIN AUTH=XOAUTH2 SASL-IR UIDPLUS ID UNSELECT CHILDREN IDLE NAMESPACE LITERAL+
S: E00000000 OK CAPABILITY completed.
C: E00000001 AUTHENTICATE PLAIN AFNWQ19DdWJpAAAAAAAAAAAAAAAAAAAASF4=
S: E00000001 NO AUTHENTICATE failed.
C: E00000002 LOGIN SVC_CubitDLE@lyse.no ".whb----%RS*,H^"
S: E00000002 NO LOGIN failed.

你知道我做错了什么吗?

很可能该用户禁用了IMAP。如果你有权访问广告,我会检查是否启用


文章

该用户很可能禁用了IMAP。如果你有权访问广告,我会检查是否启用


一篇文章

看起来好像你已经粘贴了两次实际密码。可能需要立即更改。(仅供参考,
AUTHENTICATE PLAIN
也包含base64编码的密码。)我现在已经查看了实际问题,我认为这是微软客户服务的问题。IMAP部分看起来完美无瑕。我错过了base64部分,但上面的其他密码不正确。谢谢你的评论。我来晚了一点,我假设用户名和密码字符串现在已经被混淆了(?),所以我只能问:用户名或密码是否包含任何unicode字符?我能想到的唯一一件事是,如果MailKit的
SaslPrep
实现出现了某种错误,那么可能会破坏
AUTHENTICATE PLAIN
,但这需要用户名或密码包含unicode字符,而事实似乎并非如此。看起来您已经粘贴了两次实际密码。可能需要立即更改。(仅供参考,
AUTHENTICATE PLAIN
也包含base64编码的密码。)我现在已经查看了实际问题,我认为这是微软客户服务的问题。IMAP部分看起来完美无瑕。我错过了base64部分,但上面的其他密码不正确。谢谢你的评论。我来晚了一点,我假设用户名和密码字符串现在已经被混淆了(?),所以我只能问:用户名或密码是否包含任何unicode字符?我能想到的唯一一件事是,如果MailKit的
SaslPrep
实现在某种程度上是错误的,那么可能会破坏
AUTHENTICATE PLAIN
,但这将要求用户名或密码包含unicode字符,而事实似乎并非如此。