0

当我在 Exchange 服务器上使用 MailKit 时,我从 Exchange 服务器日志中看到以下流程,显示 starttls 和功能之间的时间过长(大约 15 秒),有时这个相同的过程大约需要 20 毫秒,这是一个巨大的差异!

流程如下所示:

OpenSession 
capability  
starttls    
capability  
authenticate NTLM
capability
namespace   
list "" "INBOX"
list "" Inbox
select INBOX
uid FETCH 22274 (BODY.PEEK[])
logout  

在 MailKit 中,我每次都创建一个新的 ImapClient,如下所示:

  1. 使用 NullProtocolLogger() 作为参数创建新的 ImapClient。
  2. 使用(用户名、密码、假)参数调用此客户端的 .Connect()。
  3. 使用新的 NetworkCredentials 调用此客户端的 .Authenticate()。
  4. 获取收件箱文件夹并接收我正在寻找的邮件。
  5. 调用此客户端的 .Disconnect(true)。

我不明白为什么 Exchange 服务器偶尔会偶然发现“starttls”和“capability”之间的相同顺序。

有任何想法吗?是 Exchange 服务器问题,还是 MailKit 问题?

4

1 回答 1

1

这是 Exchange 服务器的问题。服务器很可能因来自其他客户端或其他东西的请求而过载。

于 2016-02-04T16:57:10.790 回答