smtp.starttls.missing

STARTTLS Not Advertised

What we check

After connecting to the mail server on port 25 and issuing an EHLO command, we check whether the server advertises the STARTTLS extension. STARTTLS is the mechanism that upgrades a plain-text SMTP connection to an encrypted TLS session. We perform a confirmation probe (a second connection) to rule out intermittent advertisement.

What this finding means

The server did not advertise STARTTLS in either SMTP session. All mail delivered to this server travels in plain text — readable by anyone on the network path between the sender and this server.

Why it matters

How to fix

  1. Enable STARTTLS in your MTA. For Postfix:

    # /etc/postfix/main.cf
    smtpd_tls_cert_file = /etc/ssl/certs/mail.example.com.pem
    smtpd_tls_key_file = /etc/ssl/private/mail.example.com.key
    smtpd_tls_security_level = may
    

    may means the server will offer STARTTLS but not require it — the standard for public MX servers.

  2. Reload Postfix:

    postfix reload
    
  3. Verify the certificate is valid and covers the MX hostname. A self-signed or expired certificate will cause separate findings, but STARTTLS will at least be available.

How it's graded

Missing STARTTLS carries a 40-point penalty in the TLS category. This is one of the heaviest single deductions — encryption is fundamental to mail transport security. See Grading Methodology for the full scoring model.

Evidence example

S: 220 mail.example.com ESMTP
C: EHLO scanner.example.net
S: 250-mail.example.com
S: 250-PIPELINING
S: 250-SIZE 52428800
S: 250-8BITMIME
S: 250 ENHANCEDSTATUSCODES
(no STARTTLS in capability list)

References