CURLcode curl_easy_setopt(CURL *handle, CURLOPT_LOGIN_OPTIONS, char *options);
For more information about the login options please see RFC2384, RFC5092 and IETF draft draft-earhart-url-smtp-00.txt
CURLOPT_LOGIN_OPTIONS(3) can be used to set protocol specific login options, such as the preferred authentication mechanism via "AUTH=NTLM" or "AUTH=*", and should be used in conjunction with the CURLOPT_USERNAME(3) option.
The application does not have to keep the string around after setting this option.
CURL *curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "smtp://example.com/"); curl_easy_setopt(curl, CURLOPT_LOGIN_OPTIONS, "AUTH=*"); ret = curl_easy_perform(curl); curl_easy_cleanup(curl); }