Office365 Imap 无法以编程方式工作

问题描述 投票:0回答:2

尝试使用 MailKit 库连接到 imap。虽然此代码适用于 Gmail 和热邮件。 它给出 Office 365 登录失败错误。

using (var client = new ImapClient(new ProtocolLogger("imap.log")))
{
      client.Timeout = 120000;
      client.Connect("outlook.office365.com", 
                      93,SecureSocketOptions.SslOnConnect);
      client.Authenticate("[email protected]", "XXXXXPassword");
      client.Inbox.Open(FolderAccess.ReadOnly);

      var uids = client.Inbox.Search(SearchQuery.All);

      foreach (var uid in uids)
      {
         var message = client.Inbox.GetMessage(uid);
         // write the message to a file
         message.WriteTo(string.Format("{0}.eml", uid));
     }
     client.Disconnect(true);
}
c# imap mailkit
2个回答
1
投票

Microsoft 从 2023 年开始已弃用基本身份验证。您可以在他们的文章在 Exchange Online 中弃用基本身份验证

了解更多相关信息

您需要使用 Oauth2 身份验证 使用 OAuth 对 IMAP、POP 或 SMTP 连接进行身份验证


0
投票

但我可以使用我的 apppass 发送电子邮件,而 System.Net.Mail 只能接收电子邮件,但无法正常工作...为什么?

© www.soinside.com 2019 - 2024. All rights reserved.