A resposta depende até certo ponto do que você quer dizer com "seguro".
Primeiro, seu resumo não captura a diferença entre SSL / TLS e STARTTLS.
- Com SSL / TLS, o cliente abre uma conexão TCP com a "porta SSL" atribuída ao protocolo de aplicativo que deseja usar e começa a falar TLS imediatamente.
- Com o STARTTLS, o cliente abre uma conexão TCP com a "porta de texto não criptografado" associada ao protocolo do aplicativo que deseja usar e pergunta ao servidor "quais extensões de protocolo você suporta?". O servidor responde com uma lista de extensões. Se uma dessas extensões for "STARTTLS", o cliente poderá dizer "ok, vamos usar o TLS" e os dois começarão a falar sobre o TLS.
Se o cliente estiver configurado para exigir TLS, as duas abordagens serão mais ou menos igualmente seguras. Mas existem algumas sutilezas sobre como o STARTTLS deve ser usado para torná-lo seguro, e é um pouco mais difícil para a implementação do STARTTLS obter esses detalhes corretamente.
Por outro lado, se o cliente estiver configurado para usar TLS apenas quando o TLS estiver disponível e usar texto não criptografado quando o TLS não estiver disponível, o que o cliente pode fazer é primeiro tentar se conectar à porta SSL usada pelo protocolo e, se falhar, conecte-se à porta de texto não criptografado e tente usar STARTTLS e, finalmente, volte ao texto não criptografado se o TLS não estiver disponível nos dois casos. É bastante fácil para um invasor causar uma falha na conexão da porta SSL (basta alguns pacotes TCP RST oportunos ou o bloqueio da porta SSL). É um pouco mais difícil - mas apenas um pouco - para um invasor derrotar a negociação do STARTTLS e fazer com que o tráfego permaneça em texto não criptografado. E então o invasor não apenas lê seu email, mas também captura seu nome de usuário / senha para uso futuro.
Portanto, a resposta simples é que, se você estiver se conectando a um servidor que você já sabe que suporta TLS (como deve ser o caso ao enviar ou ler e-mails), use SSL / TLS. Se a conexão estiver sendo atacada, a tentativa de conexão falhará, mas sua senha e email não serão comprometidos.
Por outro lado, se você estiver se conectando a algum serviço que não sabe se ele suporta TLS, o STARTTLS pode ser um pouco melhor.
Quando o STARTTLS foi inventado, os ataques "passivos" apenas para escuta eram muito comuns; os ataques "ativos" nos quais o invasor injetava tráfego para tentar diminuir a segurança eram menos comuns. Nos 20 anos seguintes, ataques ativos tornaram-se mais viáveis e comuns.
Por exemplo, se você estiver tentando usar um laptop em um aeroporto ou em algum outro local público e tentar ler seus e-mails por meio do wifi fornecido lá, não terá ideia do que essa rede wifi está fazendo com seu tráfego. É muito comum as redes wifi rotearem certos tipos de tráfego para "proxies" que se interpõem entre os aplicativos clientes e os servidores com os quais eles estão tentando conversar. É trivial para esses proxies desativar o STARTTLS e "tentar uma porta e depois outra" na tentativa de fazer com que o cliente volte ao texto não criptografado. Sim, isso acontece e é apenas um exemplo de como seu tráfego pode ser espionado por uma rede. E esses ataques não se limitam a agências de três letras apoiadas pelo estado,