1

您好,我正在 Ubuntu 上用 C 语言编写一个 POP3 客户端。我正在使用 OpenSSL。我被困在授权状态!我发送用户名并获得成功响应,当我发送密码时,它总是说-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

任何指针将不胜感激!

4

1 回答 1

0

阅读 RFC 1939 和 1734,您可以看到 POP 具有多种身份验证机制,并且给定的服务器并不总是接受 PASS(例如,它们可能需要 APOP)。例如,Gmail 似乎就是这种情况。

尝试使用其他 POP 服务器或更改您自己的服务器的设置。

于 2013-04-24T20:27:05.093 回答