【发布时间】:2020-07-28 13:58:06
【问题描述】:
我已经阅读了所有 MailKit 问题,但我的仍然无法正常工作。我已经删除了我的实际登录密码,但它们对于该帐户是正确的。
using (var client = new ImapClient(new ProtocolLogger(@"c:\temp\imaplog.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.
【问题讨论】:
-
MailKit 是否向服务器发送了正确的用户名和密码字符串?您的用户名是否包含帐户电子邮件地址的
@domain部分?如果您尝试不包含它或包含它(即与您正在做的事情相反)怎么办?如果您删除client.AuthenticationMechanisms.Clear();以允许 MailKit 使用 PLAIN 身份验证,会发生什么情况?在使用 PLAIN 进行测试时,请务必尝试使用和不使用@domain。 -
我已经尝试了你所说的一切,但无济于事。如果我包含域,它看起来像域/用户名,密码是否正确?
-
不,它看起来像
username@outlook.com或username@office365.com。