the dumbest thing is if the server refused STARTTLS or the client doesn't send STARTTLS you are supposed to still continue if you strictly follow the standard
I really hope no implementation actual does support this behavior without setting some really dangerous sounding settings (but I'm pretty sure some probably do).
at least they did standardize directly connecting with TLS by now (it not "that" long ago that while supported in practice it wasn't technically standard complaint)