关于 IMAP 服务器上的 PLAIN AUTHENTICATION 的问题

Quastion regarding PLAIN AUTHENTICATION on IMAP servers

我正在尝试了解普通身份验证在 IMAP 服务器上的工作原理。
我在 JavaScript(Node.JS).
中实现了一个简单的 IMAP 服务器 我尝试使用 Mozilla Thunderbird 登录,但无法通过连接的 AUTHENTICATION 部分。

这是服务器和客户端之间的通信方式:

C: 1 capability
S: * CAPABILITY IMAP4rev1 SASL-IR AUTH=PLAIN
S: 1 OK - CAPABILITY completed
C: 2 authenticate PLAIN
S: +

到目前为止,AUTHENTICATE 处理程序:

function authenticate() {
  socket.write('+ ')
}

如果我理解正确,Thunderbird 应该向我发送这样的消息“[=23=]login[=23=]password”,但它什么也没做,它卡在 'Mail for login@127.0.0.1: Sending login information...'

响应,即使是后续响应,也需要换行:

socket.write('+ Go ahead\r\n')