【问题标题】:Quastion regarding PLAIN AUTHENTICATION on IMAP servers关于 IMAP 服务器上的 PLAIN AUTHENTICATION 的问题
【发布时间】:2018-06-13 16:44:41
【问题描述】:

我正在尝试了解普通身份验证在 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 应该向我发送类似“\0login\0password”的消息,但它什么也没做,它停留在“登录邮件@127.0.0.1:发送登录信息...”

【问题讨论】:

  • 您是否在回复后发送新行?
  • 是的,我在每次响应后发送 \r\n ,但不在 + 字符之后发送。如您所见,它只是一个socket.write('+ '),请注意“+”后面的空格。
  • 它仍然需要换行。

标签: javascript authentication imap


【解决方案1】:

响应,甚至是延续响应,都需要换行:

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

【讨论】:

  • 谢谢,我不知道我为什么要打架,我最后不需要换行符,它起作用了。
猜你喜欢
  • 2020-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-11
  • 2013-03-21
相关资源
最近更新 更多