我正在编写使用剧本和果酱发送邮件的代码,这是我的代码
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.7和Marmalade 6.1
谁能帮我?:/ 或者还有其他发送邮件的方法吗?
谢谢