Der Client verbindet sich im Klartext, der Server bietet STARTTLS in seiner Fähigkeitenliste an, der Client sendet den Befehl, und erst danach folgt der TLS-Handshake. Bei implizitem TLS (Port 465, 993, 995) beginnt die Verbindung dagegen sofort verschlüsselt.
Zwischen Mailservern ist STARTTLS opportunistisch: Fehlt das Angebot oder scheitert der Handshake, wird meist im Klartext zugestellt. Ein Angreifer kann das Angebot aus der Antwort entfernen (STARTTLS-Stripping). MTA-STS und DANE schließen diese Lücke.
Zum Testen eignet sich openssl s_client mit dem Parameter -starttls. Zeigt der Server ein abgelaufenes Zertifikat, stellen viele Absender trotzdem zu, strikte Clients brechen ab.
Beispiel
openssl s_client -connect mail.example.com:25 -starttls smtp -servername mail.example.com