| Internet-Draft | Secure SMTP/TLS SRV Announcement | August 2026 |
| Nurpmeso | Expires 4 February 2027 | [Page] |
This specification defines a DNS (RFC 1035) SRV (RFC 2782) record that announces TLS (RFC 9325) secured SMTP (RFC 5321, RFC 3207), optionally including Implicit TLS.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 4 February 2027.¶
Copyright (c) 2026 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document.¶
SMTP[RFC5321] uses MX[RFC974] RRs to discover how to create connections to MTAs ([RFC5598]). The SMTP protocol default is unprotected, the selection of the optional and possibly unsupported STARTTLS[RFC3207] extension is subject to man-in-the-middle attacks.¶
Moreover, no Implicit TLS SMTP protocol variant has ever been specified, despite noticeable achievable non-batchable packet roundtrip savings, and despite availability, or easy adoptability, of such a protocol variant in existing code bases.¶
[RFC2782] defines a widely adopted DNS-based service discovery protocol. [RFC6186] is a specification of SRV[RFC2782] records for the email protocols IMAP[RFC9051], POP3[RFC1939], and SUBMISSION[RFC6409]. This includes DNS service names for Implicit TLS protocol variants.¶
This specification adds a SMTP/TLS service name for SRV[RFC2782] records. These DNS RRs should be used in preference to MX records. Their presence signals availability of the STARTTLS SMTP extension, as well as optionally Implicit TLS on a dedicated port.¶
This document uses the terminology of The Open Group Standard Base Specifications, Issue 8, Volume 1, Chapter 1.6, Terminology.¶
The term "Implicit TLS" refers to the automatic negotiation of TLS whenever a TCP connection is made on a particular TCP port that is used exclusively by that server for TLS connections. The term "Implicit TLS" is intended to contrast with the use of the STARTTLS command in SMTP that is used by the client and the server to explicitly negotiate TLS on an established cleartext TCP connection.¶
The term "FOSS" refers to Free and Open Source Software.¶
The service name for
TLS[RFC9325]
enabled
Secure[RFC3207]
SMTP[RFC5321]
is smtp-tls, the resulting DNS label _smtp-tls.¶
If the SRV RR port number is not 25, support for Implicit TLS on the specified port is announced. The port number shall be given as 842. Any other port number shall be treated as if port 25 was specified; special local policy rules may allow Implicit TLS on the given port.¶
Servers shall not announce STARTTLS in the EHLO command response of an Implicit TLS connection, clients shall ignore it, if they do nonetheless. Clients should not issue STARTTLS within an Implicit TLS connection; servers shall reply with code 554 if they do nonetheless, if enhanced status codes[RFC3463] are used, 5.5.1 shall be used.¶
DNS SRV RRs shall take priority over MX[RFC5321] ones: in the presence of a SRV RR no MX lookup should be performed, and no available MX RR shall be used.¶
After a successful _smtp-tls DNS SRV lookup
cleartext communication shall not be used.
Exceptions, for example "error-recovery" connections to the dedicated
special "local-part"
postmaster[RFC1123]
(also see
SMTP[RFC5321],
section 4.5.1 Minimum Implementation),
may be provided.
Servers and clients which make use of the _smtp-tls DNS SRV
shall follow the guidelines of
TLS[RFC9325].¶
If a DNS SRV lookup fails with NODATA
negative caching[RFC2308]
(sections 2.2 and 5) conditions,
not only a maximum, but also a minimum cache time limit
should be used in order to reduce excessive DNS SRV RR lookups.
(It may seem sensible to use the TTL of the domains MX or address RR,
with a maximum limit, as via
[RFC2308],
section 5.)¶
An announcement for the STARTTLS SMTP service extension.¶
_smtp-tls._tcp SRV 0 0 25 mail.example.com.¶
An announcement of Implicit TLS, in addition to STARTTLS.¶
_smtp-tls._tcp SRV 0 0 842 mail.example.com.¶
A multi-server scenario where the main server supports Implicit TLS and STARTTLS, whereas the backup server only supports STARTTLS.¶
_smtp-tls._tcp SRV 0 0 842 mail.example.com. _smtp-tls._tcp SRV 1 0 25 backup.example.com.¶
If, after a successful _smtp-tls DNS SRV lookup that
announces Implicit TLS support,
a connection to the dedicated port fails,
a fallback to IANA SMTP port 25 may be established,
which shall use the STARTTLS SMTP extension.¶
Informative remark: This is meant to overcome two shortcomings: first the given port may be blocked along the network path; it may take time until the network adapts; whereas expected to be a rare event for the System Ports range ([RFC6335]), defining a recovery strategy seems useful.¶
Second DNS SRV lookups could return results unprotected by DNSSEC[RFC4033][RFC4034][RFC4035], or without perceived knowledge of whether DNSSEC was actually used, for example, when the DNS is accessed via some kind of furtherly unspecified intermediate proxy that needs to be trusted: in either case the possibility of DNS forge attacks exist; if the STARTTLS secured connection to the IANA SMTP port fails, the DNS result should be treated with maximum suspicion. The mail log record may give useful insight.¶
The section of [RFC6186] named "Guidance for MUAs" (section 4) in parts also applies to this specification.¶
The equally named section of [RFC6186] (section 5) also applies to this specification.¶
IANA is asked to allocate port number 842 for the Implicit TLS operation mode of SMTP[RFC5321]. The author wants to point out that the contra arguments given in section 7 of [RFC2595] that created according POP3S and IMAPS assignments in 1999 are contradicted by operational reality in the internet, and here that includes the IETF by means of [RFC8314]. A dedicated port enables administrators to apply strict policies, for example in firewalls.¶
First of all, the equally named section of [RFC6186] (section 6) also applies to this specification.¶
Due to fact that one and a half decade passed since RFC 6186 it follows a reiteration of the reasoning. This specification avoids downgrade attacks on the opportunistic approach of STARTTLS, accomplished via the mechanism used for many other IETF standardized protocols, most notably [RFC2782] (IMAP, POP3, SUBMISSION). With its Implicit TLS capability it grants the SMTP protocol the same level of confidentiality through TLS[RFC9325] as is already standardized for the other email protocols; this is considered a value by itself, even for the possibly lesser sensitive MTA-to-MTA communication.¶
Implicit TLS reduces the number of packet roundtrips, that at a protocol stage where the widely used command pipelining[RFC2920] performance improvement extension cannot be used; these roundtrips are anachronistic: for example the about 4.2 million known DANE for SMTP[RFC7672] enabled domains at the time of this writing alone, which must use TLS by standard definition, likely generate (several) billion(s) of useless sequential and blocking roundtrip packets each and every day of their operation.¶
The security of DNS[RFC1035] is out of scope for this specification, but DNSSEC[RFC4033][RFC4034][RFC4035] and secure DNS transport[RFC7858][RFC8094][RFC8310][RFC8484][RFC9250] etc exists. Selection of the appropriate transport layer security protocol is out of scope for this specification, please see for example TLS[RFC9325].¶
Thanks to Jan Ingvoldstad. Thanks to Jeremy Harris for spending time and revealing the many problems of early draft variants, as well as comments on how to do it better; very special thanks to him for a kickstart implementation of this very draft in the widely used FOSS MTA Exim. Jeremy Harris, Viktor Dukhovni and Wietse Venema commented on the initial odd usage of port 0 for the STARTTLS discovery case. Thanks to Alex Brotman for hinting on the fallback strategy. Thanks have to go to Jonas Stalder, also for finding IETF tooling bugs, despite his wishes not to be mentioned (anymore).¶