您好我正在Ubuntu上用C语言编写POP3客户端。我正在使用OpenSSL。
我陷入了AUTHORIZATION状态!我发送用户名并获得成功响应,
当我发送密码时,它总是说-ERR bad command
。我确信密码是正确的。由于我使用的是OpenSSL,因此Wireshark没有多大帮助。这是我发送密码的方式
scanf("%s",password);
sprintf(pass_cmd,"PASS %s\r\n",password);
sent = SSL_write(ssl, pass_cmd, strlen(pass_cmd));
在用于写入之前, pass_cmd
已刷新并已清除。strlen
也提供有效大小,包括\r\n
任何指针都将非常感谢!!
答案 0 :(得分:0)
阅读RFC 1939和1734,您可以看到POP具有多种身份验证机制,并且给定服务器并不总是接受PASS(例如,它们可能需要APOP)。例如,Gmail就是这种情况。
尝试使用其他POP服务器或更改自己服务器的设置。