diff options
Diffstat (limited to 'lib/imap.c')
-rw-r--r-- | lib/imap.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/imap.c b/lib/imap.c index ba6c61078..c39664d86 100644 --- a/lib/imap.c +++ b/lib/imap.c @@ -354,8 +354,12 @@ static CURLcode imap_state_starttls_resp(struct connectdata *conn, (void)instate; /* no use for this yet */ if(imapcode != 'O') { - failf(data, "STARTTLS denied. %c", imapcode); - result = CURLE_USE_SSL_FAILED; + if(data->set.use_ssl != CURLUSESSL_TRY) { + failf(data, "STARTTLS denied. %c", imapcode); + result = CURLE_USE_SSL_FAILED; + } + else + result = imap_state_login(conn); } else { if(data->state.used_interface == Curl_if_multi) { |