STARTTLS
What is STARTTLS?
STARTTLS is a command that upgrades an initially plain-text SMTP, IMAP or POP3 connection to an encrypted TLS connection, but only if both the sending and receiving server support and accept it. AdminKit's SSL Check tool checks a mail server's TLS and certificate configuration, including STARTTLS support.
By AdminKit team, Netbase JSC · Updated
STARTTLS is a command that upgrades an initially plain-text SMTP (or IMAP/POP3) connection to an encrypted TLS connection, if both the sending and receiving server support it. NIST’s Trustworthy Email guidance (SP 800-177 Rev. 1) covers this same opportunistic-TLS behavior and the MTA-STS/REQUIRETLS mechanisms built to close its downgrade gap. Only once that upgrade completes is it safe for a client to authenticate with SASL over SMTP AUTH, since sending credentials before encryption starts would expose them in plaintext. It’s “opportunistic” encryption by default: if a connection attempt doesn’t offer or accept STARTTLS, most mail servers will silently fall back to sending the message unencrypted rather than failing the delivery, which means an attacker able to intercept and manipulate the connection can sometimes strip the STARTTLS offer entirely (a downgrade attack) without either party noticing. In Postfix, for example, this is the “may” TLS security level, which the Postfix TLS Support documentation describes as opportunistic: the SMTP transaction is encrypted if the server supports STARTTLS, and otherwise messages are sent in the clear. MTA-STS exists specifically to close this gap by letting a domain declare that TLS is mandatory, not optional, for mail addressed to it. SMTP REQUIRETLS closes the same gap a different way, letting an individual sender mark one message as requiring TLS rather than waiting on a domain-wide policy. STARTTLS for SMTP is defined in RFC 3207 (tracked on the IETF Datatracker as a full Proposed Standard), and MTA-STS itself in RFC 8461.
STARTTLS is part of AdminKit’s email authentication cluster; the full AdminKit glossary lists other related terms.
Frequently asked questions
Does STARTTLS guarantee a mail connection is encrypted?
No. STARTTLS is opportunistic by default: if a connection doesn't offer or accept it, most servers silently deliver the message unencrypted instead of refusing delivery, which is why an on-path attacker can sometimes strip the STARTTLS offer (a downgrade attack) without either side noticing.
What stops an attacker from stripping the STARTTLS offer?
MTA-STS (RFC 8461) lets a domain declare that TLS is mandatory for incoming mail, so a connection that can't meet that bar is deferred or rejected instead of silently falling back to plaintext.
Is STARTTLS used for anything besides SMTP?
Yes -- the same opportunistic-upgrade pattern is also used by IMAP and POP3 to move from a plain-text connection to TLS before a client logs in.
Why does STARTTLS matter for authentication?
A client should only send SASL/SMTP AUTH credentials after the STARTTLS upgrade completes; sending them before encryption starts would expose the credentials in plaintext.