OpportunisticSecureSMTPClient::isStartTLSSupported() compares to STARTTLS_LINE_PREFIX { "250-STARTTLS" } which is fine, when it's not the last reply line.
RFC5321 states that the last response line must not contain a hyphen. Therefore, "250 STARTTLS" is not recognized in this case. I use an Azure cloud mail server that returns STARTTLS as the final response.
RFC5321
Each line of the response contains a keyword and, optionally, one or more
parameters. Following the normal syntax for multiline replies, these
keywords follow the code (250) and a hyphen for all but the last
line, and the code and a space for the last line.