Section: libcurl Manual (3)
Updated: September 22, 2017
curl_mime_init - create a mime handle
curl_mime * curl_mime_init(CURL * easy_handle);
creates a handle to a new empty mime structure
intended to be used with easy_handle
. This mime structure can be
subsequently filled using the mime API, then attached to easy_handle
using option CURLOPT_MIMEPOST(3)
within a curl_easy_setopt(3)
Using a mime handle is the recommended way to post an HTTP form, format and
send a multi-part e-mail with SMTP or upload such an e-mail to an IMAP server.
As long as at least one of HTTP, SMTP or IMAP is enabled. Added in 7.56.0.
A mime struct handle, or NULL upon failure.
CURL *easy = curl_easy_init();
/* Build an HTTP form with a single field named "data", */
mime = curl_mime_init(easy);
part = curl_mime_addpart(mime);
curl_mime_data(part, "This is the field data", CURL_ZERO_TERMINATED);
/* Post and send it. */
curl_easy_setopt(easy, CURLOPT_MIMEPOST, mime);
curl_easy_setopt(easy, CURLOPT_URL, "http://example.com");
/* Clean-up. */