2013-04-20 3 views
1

Здравствуйте, я пишу клиент POP3 в C на Ubuntu. Я использую OpenSSL. Я застрял в состоянии АВТОРИЗАЦИЯ! Я отправляю имя пользователя и получаю успешный ответ: и когда я отправляю пароль, он всегда говорит -ERR bad command. Я уверен, что пароль правильный. Поскольку я использую OpenSSL, Wireshark не очень помог. Вот как я посылаю парольПроблема POP-клиента во время состояния AUTH

scanf("%s",password); 
sprintf(pass_cmd,"PASS %s\r\n",password); 
sent = SSL_write(ssl, pass_cmd, strlen(pass_cmd)); 

pass_cmd промывается и очищается перед использованием в write.The strlen также дает действительный размер, включая \r\n

Все указатели будут весьма признателен !!

+0

Итак, вы протестировали ответ? Если да, пожалуйста, примите, подтвердите, запустите или прокомментируйте это, чтобы другие могли знать, работает ли это или нет. – bortzmeyer

ответ

0

Чтение RFC 1939 и 1734, вы можете видеть, что POP имеет несколько механизмов аутентификации, и данный сервер не всегда принимает PASS (например, может потребоваться APOP). Например, это похоже на Gmail.

Попробуйте использовать другой POP-сервер или измените настройки своего собственного сервера.