Components All New MacOS Windows Linux iOS
Examples Mac & Win Server Client Guides Statistic FMM Blog Deprecated Old


Sets whether to use SSL for next transfers.

Component Version macOS Windows Linux Server iOS SDK
CURL 2.5 ✅ Yes ✅ Yes ✅ Yes ✅ Yes ✅ Yes
MBS( "CURL.SetOptionUseSSL"; curl; Value )   More

(old name: CURL.SetOptionFTPSSL)


Parameter Description Example
curl The CURL session handle. $curl
Value The new SSL setting. 3


Returns "OK" on success.


Sets whether to use SSL for next transfers.
Pass a number using one of the values from below, to make libcurl use your desired level of SSL for the FTP transfer.

None0Don't attempt to use SSL.
Try1Try using SSL, proceed as normal otherwise.
Control2Require SSL for the control connection or fail with CURLE_USE_SSL_FAILED.
All3Require SSL for all communication or fail with CURLE_USE_SSL_FAILED.

Even as this function used to have FTP in name, we also use it for email sending. So the email upload starts unencrypted and we use TLS to upgrade to an SSL connection.

See also USE_SSL option in CURL manual.


Set to use SSL:

$r = MBS( "CURL.SetOptionUseSSL"; $curl; 3 )

Set to use TLSv1.2:

Set Variable [$r; MBS( "CURL.SetOptionUseSSL"; $curl; 3 ) ]
Set Variable [$r; MBS( "CURL.SetOptionSSLVersion"; $curl; 6 ) ]

Set URL for Gmail imap server:

Set Variable [$r; Value:MBS("CURL.SetOptionURL"; $curl; "imaps://")]
Set Variable [$r; Value:MBS("CURL.SetOptionUseSSL"; $curl; 3)]

Query emails via POP3 from GMail:

Set Variable [ $curl ; Value: MBS("CURL.New") ]
# use pop3s for SSL ehre
Set Variable [ $r ; Value: MBS("CURL.SetOptionURL"; $curl; "pop3s://") ]
Set Variable [ $r ; Value: MBS("CURL.SetOptionUserName"; $curl; EmailClient::Username) ]
Set Variable [ $r ; Value: MBS("CURL.SetOptionPassword"; $curl; EmailClient::Password) ]
# set custom port. 995 is default for pop3 over SSL, so no need to set it
// Set Variable [ $r ; Value: MBS("CURL.SetOptionPort"; $curl; 995) ]
# we need TLS v1.2
Set Variable [ $r ; Value: MBS("CURL.SetOptionUseSSL"; $curl; 3) ]
Set Variable [ $r ; Value: MBS("CURL.SetOptionSSLVersion"; $curl; 6) ]
# and 10 second timeout
Set Variable [ $r ; Value: MBS("CURL.SetOptionConnectionTimeout"; $curl; 10) ]

See also

Example Databases

Blog Entries

Created 18th August 2014, last changed 16th March 2022

CURL.SetOptionUploadBufferSize - CURL.SetOptionUserAgent