74 lines
2.3 KiB
Groff
74 lines
2.3 KiB
Groff
|
|
.\" generated by cd2nroff 0.1 from curl_mime_subparts.md
|
||
|
|
.TH curl_mime_subparts 3 "2025-07-07" libcurl
|
||
|
|
.SH NAME
|
||
|
|
curl_mime_subparts \- set sub\-parts of a multipart mime part
|
||
|
|
.SH SYNOPSIS
|
||
|
|
.nf
|
||
|
|
#include <curl/curl.h>
|
||
|
|
|
||
|
|
CURLcode curl_mime_subparts(curl_mimepart *part, curl_mime *subparts);
|
||
|
|
.fi
|
||
|
|
.SH DESCRIPTION
|
||
|
|
\fIcurl_mime_subparts(3)\fP sets a multipart mime part\(aqs content from a mime
|
||
|
|
structure.
|
||
|
|
|
||
|
|
\fIpart\fP is a handle to the multipart part.
|
||
|
|
|
||
|
|
\fIsubparts\fP is a mime structure handle holding the sub\-parts. After
|
||
|
|
\fIcurl_mime_subparts(3)\fP 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\(aqs contents multiple times is valid: only the value set by the
|
||
|
|
last call is retained. It is possible to unassign previous part\(aqs contents by
|
||
|
|
setting \fIsubparts\fP to NULL.
|
||
|
|
.SH PROTOCOLS
|
||
|
|
This functionality affects http, imap and smtp
|
||
|
|
.SH EXAMPLE
|
||
|
|
.nf
|
||
|
|
|
||
|
|
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);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
.fi
|
||
|
|
.SH AVAILABILITY
|
||
|
|
Added in curl 7.56.0
|
||
|
|
.SH RETURN VALUE
|
||
|
|
This function returns a CURLcode indicating success or error.
|
||
|
|
|
||
|
|
CURLE_OK (0) means everything was OK, non\-zero means an error occurred, see
|
||
|
|
\fIlibcurl\-errors(3)\fP. If \fICURLOPT_ERRORBUFFER(3)\fP was set with \fIcurl_easy_setopt(3)\fP
|
||
|
|
there can be an error message stored in the error buffer when non\-zero is
|
||
|
|
returned.
|
||
|
|
.SH SEE ALSO
|
||
|
|
.BR curl_mime_addpart (3),
|
||
|
|
.BR curl_mime_init (3)
|