MS Exchange IMAP登录返回“在无效状态下收到的BAD命令”

时间:2015-09-01 19:55:38

标签: email exchange-server imap

我有一个连接到MS Exchange服务器的IMAP客户端(Perl,Mail :: IMAPClient),该服务器在登录时收到错误“在无效状态下收到1个BAD命令”。这个相同的IMAP客户端可以在许多其他环境中运行,没有错误,当然也不会在登录时立即出现错误!

我在确定错误来源方面遇到了麻烦,此时我倾向于认为客户的Exchange服务器配置错误,或者有一些防火墙或数据包操作恶作剧。

除了错误之外,我能够进行真正看起来正常的数据包捕获。在TCP握手之后,这是整个IMAP对话,然后是TCP挂断。

No.     Time           Source                Destination
      4 0.010228000    (server)              (client)   
Internet Message Access Protocol
    Line: * OK The Microsoft Exchange IMAP4 service is ready.\r\n

No.     Time           Source                Destination
      5 0.012680000    (client)              (server)   
Internet Message Access Protocol
    Line: 1 LOGIN (username) (password)\r\n
        Request Tag: 1
        Request Command: LOGIN
        Request: LOGIN (username) (password)

No.     Time           Source                Destination
      6 0.017559000    (server)              (client)   
Internet Message Access Protocol
    Line: 1 BAD Command received in Invalid state.\r\n
        Response Tag: 1
        Response Status: BAD
        Response: BAD Command received in Invalid state.

我是否正确地假设问题出在IMAP服务器端?

1 个答案:

答案 0 :(得分:5)

您需要先发送CAPABILITY命令,以便检查服务器是否有LOGINDISABLED(它可能会执行此操作,因此您的错误)。