2

我正在编写使用剧本和果酱发送邮件的代码,这是我的代码

curl_easy_setopt(curl, CURLOPT_URL, "smtp://smtp.gmail.com:587");
    //curl_easy_setopt(curl, CURLOPT_PORT, this->_PORT);
    curl_easy_setopt(curl,CURLOPT_CONNECTTIMEOUT, 15);
    curl_easy_setopt(curl,CURLOPT_TIMEOUT, 30);
    curl_easy_setopt(curl, CURLOPT_USE_SSL, (long)CURLUSESSL_ALL);
    curl_easy_setopt(curl, CURLOPT_USERNAME, "xxxxxxx@gmail.com");
    curl_easy_setopt(curl, CURLOPT_PASSWORD, "xxxxxxx");
    curl_easy_setopt(curl, CURLOPT_MAIL_FROM, this->_FROM);
    recipients = curl_slist_append(recipients, this->_TO);
    curl_easy_setopt(curl, CURLOPT_MAIL_RCPT, recipients);
    curl_easy_setopt(curl, CURLOPT_READFUNCTION, payload_source);
    curl_easy_setopt(curl, CURLOPT_READDATA, &upload_ctx);
    curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
    res = curl_easy_perform(curl);

这是来自 libcurl 的示例。( http://curl.haxx.se/libcurl/c/smtp-tls.html )

但是每次执行 curl_easy_perform 时,我都会收到错误CURLE_COULDNT_RESOLVE_HOST与每个地址无关,如果它是 http、smtp、ftp 等。

如果我输入 IP 而不是名称,我总是会得到 Permission Denied。

我认为错误是 fake-ares.cpp 及其异步解析。

我正在使用libcurl 7.21.7Marmalade 6.1

谁能帮我?:/ 或者还有其他发送邮件的方法吗?

谢谢

4

0 回答 0