curl_mime_subparts(3)

curl_mime_subparts3

Set sub-parts of a multipart mime part

Usage

#include <curl/curl.h>
CURLcode curl_mime_subparts(curl_mimepart *part, curl_mime *subparts);

Overview

curl_mime_subparts(3) sets a multipart mime part's content from a mime structure.

part is a handle to the multipart part.

subparts is a mime structure handle holding the sub-parts. After curl_mime_subparts(3) succeeds, the mime structure handle belongs to the multipart part and must not be freed explicitly. It may however be updated by subsequent calls to mime API functions.

Setting a part's contents multiple times is valid: only the value set by the last call is retained. It is possible to unassign previous part's contents by setting subparts to NULL.

Examples

static char *inline_html = "<title>example</title>";
static char *inline_text = "once upon the time";
int main(void)
{
  CURL *curl = curl_easy_init();
  if(curl) {
    struct curl_slist *slist;
    /* The inline part is an alternative proposing the html and the text
       versions of the email. */
    curl_mime *alt = curl_mime_init(curl);
    curl_mimepart *part;
    /* HTML message. */
    part = curl_mime_addpart(alt);
    curl_mime_data(part, inline_html, CURL_ZERO_TERMINATED);
    curl_mime_type(part, "text/html");
    /* Text message. */
    part = curl_mime_addpart(alt);
    curl_mime_data(part, inline_text, CURL_ZERO_TERMINATED);
    /* Create the inline part. */
    part = curl_mime_addpart(alt);
    curl_mime_subparts(part, alt);
    curl_mime_type(part, "multipart/alternative");
    slist = curl_slist_append(NULL, "Content-Disposition: inline");
    curl_mime_headers(part, slist, 1);
  }
}

Return value

CURLE_OK or a CURL error code upon failure.

Releases

32 releases since macOS 12.0.1; the text changed 9 times.

  1. 12.0.1–12.2
  2. 12.3–12.5
  3. 13.0
  4. 13.1
  5. 13.2
  6. 13.3
  7. 13.4
  8. 13.5–14.1
  9. 14.2–14.4
  10. 14.5–26.5

Availability

As long as at least one of HTTP, SMTP or IMAP is enabled. Added in 7.56.0.

From curl 166.0.0.0.1 in macOS 26.5. Parsed by carta from the page's man source.