Mailkit为1个用户发送带有IMAPS的CAPABILITY时超时,但不为其他

时间:2016-02-04 15:44:23

标签: imap exchange-server-2010

我公司正在使用Mailkit作为专用客户端程序。不幸的是,开发人员离开了公司,没有可用的源代码。

因此,当使用用户EP运行mailkit.exe debug 版本的程序以便通过IMAPS /端口993获取电子邮件时,它会在一段时间后超时。幸运的是,生成了一个输出文件,其中包含以下内容:

Connected to imaps://imaps.company.net:993/
S: * OK The Microsoft Exchange IMAP4 service is ready.
C: A00000000 CAPABILITY
S: * BYE
Connection is closed. 13

在使用帐户AD的同一台服务器上,它可以立即使用;日志文件提供以下内容:

Connected to imaps://imaps.company.net:993/
S: * OK The Microsoft Exchange IMAP4 service is ready.
C: A00000000 CAPABILITY
S: * CAPABILITY IMAP4 IMAP4rev1 AUTH=NTLM AUTH=GSSAPI AUTH=PLAIN UIDPLUS CHILDREN IDLE NAMESPACE LITERAL+
S: A00000000 OK CAPABILITY completed.
C: A00000001 AUTHENTICATE NTLM
S: + 
C: TlRMTVNTUBLABLABLABLABLABLABLABLA=
S: + TlRMTVNTUABLABLABLABLABLABLABLAkCGYaTeJuisCQAAAAAAAAAANYA1gBGAAAABgGxHQAAAA9SAFoALQBTAFUARQBEAAIADgBSAFoALQBTAFUARQBEAAEAHgBSAFoAUwAtAEUAWABQAEMALQBWADAAMQA5ADcAMgAEACIAcgB6AC0AcwB1AGUAZAAuAGIAYQB5AGUAcgBuAC4AZABlAAMAQgBSAFoAUwAtAEUAWABQAEMALQBWADAAMQA5ADcAMgAuAHIAegAtAHMAdQBlAGQALgBiAGEAeQBlAHIAbgAuAGQAZQAFACIAYQBkAC0AcgBvAG8AdAAuAGIAYQB5AGUAcgBuAC4AZABlAAcACAAoo1GGWF/RAQAAAAA=
C: TlRMTVNTUAADAAAAGAAYAIwAAAAYABgApAAAAAAAAABAAAAATABMAEAAAAAAAAAAjAAAAAAAAAC8AAAAAYIIAGwAZgBzAHQAYQBkAC0AZQBwAHMAdwBlAGIALQBhAHUAcwB0AGEAdQBzAGMAaABAAHMAdABtAGkALgBiAGEAeQBlAHIAbgAuAGQAZQBMgR43Q5lU3gAAAAAAAAAAAAAAAAAAAAAX+a5JGYqTMiuhZBjMz/tOXbxffNW9azQ=
S: A00000001 OK AUTHENTICATE completed.
C: A00000002 CAPABILITY
S: * CAPABILITY IMAP4 IMAP4rev1 AUTH=NTLM AUTH=GSSAPI AUTH=PLAIN UIDPLUS CHILDREN IDLE NAMESPACE LITERAL+
S: A00000002 OK CAPABILITY completed.

在客户端与负载均衡/群集的Exchange Server 2010之间建立防火墙。

使用

openssl s_client -connect imaps.company.net:993/

并输入

A00000000 CAPABILITY

稍后会为这两个用户帐户都没有错误,而是 BOTH 一段时间后超时,并显示以下消息:

* OK The Microsoft Exchange IMAP4 service is ready.
* BYE Connection is closed. 13 read:errno=0

注意:发送

会出现问题
A00000000 CAPABILITY

在mailkit.exe中 BEFORE 进行身份验证。

这里发生了什么?为什么它与用户AD一起使用而不是在同一台计算机上使用用户EP?

1 个答案:

答案 0 :(得分:0)

我们遇到了同样的问题。我们怀疑防火墙问题是原因,但尚未证实。

对我们有用的是升级到MailKit的最新版本(1.10.0)并使用连接超载

ImapClient.Connect(servername, port, SecureSocketOptions)

使用SecureSocketOptions.None绕过STARTTLS请求。