【发布时间】:2014-02-13 05:46:06
【问题描述】:
我正在尝试使用 libcurl 从 IMAP 服务器检索消息。这是我从在线示例中使用的代码:
#include <stdio.h>
#include <curl/curl.h>
int main(void){
CURL *curl;
CURLcode res = CURLE_OK;
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_USERNAME, "user");
curl_easy_setopt(curl, CURLOPT_PASSWORD, "secret");
curl_easy_setopt(curl, CURLOPT_URL, "imaps://imap.example.com/INBOX/;UID=1");
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYHOST, 0);
curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
res = curl_easy_perform(curl);
if(res != CURLE_OK)
fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
curl_easy_cleanup(curl);
}
return (int)res;
}
不幸的是,这不起作用。我得到以下输出:
C SELECT INBOX/;UID=1
< C NO Mailbox doesn't exist: INBOX.;UID=1
* Select failed
如果我只输入curl_easy_setopt(curl, CURLOPT_URL, "imaps://imap.example.com/INBOX); 而不是curl_easy_setopt(curl, CURLOPT_URL, "imaps://imap.example.com/INBOX/;UID=1");,那么我实际上得到了关于收件箱的有用输出,就像我应该做的那样,没有错误。
我在 ubuntu 上使用 gcc 进行编译。
【问题讨论】:
标签: ubuntu gcc curl imap libcurl