Suped

What is the 'v' tag in an MTA-STS policy TXT record?

When you're setting up email security protocols, you'll often encounter a series of DNS records that look like a jumble of characters. One of these protocols is Mail Transfer Agent Strict Transport Security, or MTA-STS. It's a fantastic standard designed to ensure that emails are sent over a secure, encrypted connection, preventing potential eavesdropping and man-in-the-middle attacks.

At the heart of an MTA-STS implementation is a DNS TXT record. This record signals to the world that you have an MTA-STS policy. Inside this record, you'll find several key-value pairs, but the very first one you'll see is v=STSv1. This is the version tag, and it's a small but absolutely critical part of the entire setup.

datatracker.ietf.org logo
IETF Datatracker says:
Visit website
The official RFC 8461 specification for MTA-STS defines the TXT record, stating its name should be "_mta-sts" at the policy domain and providing an example: "v=STSv1; id=20160831085700Z;". This highlights that the version tag is a fundamental part of the standard from its inception.

Simply put, the v tag stands for 'version'. Its purpose is to declare which version of the MTA-STS protocol your policy adheres to. As of today, the only valid and recognized value for this tag is STSv1. This tag is not optional; it's a mandatory component of the MTA-STS discovery record. Without a valid v tag, sending mail servers will not recognize that you have an MTA-STS policy in place.

vand3rlinden.com logo
VAND3RLINDEN says:
Visit website
This TXT record is placed at _mta-sts.example.com and signals the presence of an MTA-STS policy. v=STSv1: Indicates the version of the MTA-STS ...
Suped DMARC monitor
Free forever, no credit card required
Get started for free
Trusted by teams securing millions of inboxes
Company logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logoCompany logo

The structure of an MTA-STS TXT record

The MTA-STS policy discovery process begins with a DNS lookup. A sending mail server looks for a TXT record at a specific subdomain, _mta-sts.yourdomain.com. The content of this record is a simple string containing key-value pairs separated by semicolons. While other protocols have complex record structures, the MTA-STS TXT record is quite straightforward. According to guidance from FlexAble Solutions, the two primary components are the version and an ID.

  • v: This is the mandatory version tag. It must be present and set to STSv1.
  • id: This is a required policy ID. It's a unique string, often a timestamp or a serial number, that signals a change in your policy. When you update your policy file, you must also update this ID so that sending servers know to fetch the new version.

A typical MTA-STS TXT record looks like this: v=STSv1; id=2024052001;. The v tag always comes first, acting as the identifier for the entire record.

Why is the version tag critical?

The importance of the v tag comes down to two key functions: discovery and future compatibility. If the record at _mta-sts.yourdomain.com doesn't begin with v=STSv1;, a sending server will assume there is no MTA-STS policy, and your entire security effort will be ignored. As noted in a guide on enabling MTA-STS, getting this record format correct is the essential first step.

Additionally, the version tag ensures forward compatibility. If the IETF ever releases a new version of the standard, say `STSv2`, it will use a different version identifier. This prevents older mail servers that only understand `STSv1` from trying to interpret a newer, incompatible policy. They will simply ignore policies they don't understand, preventing errors and delivery failures.

In conclusion, while the v tag in an MTA-STS record might seem like a minor detail, it is the foundational element that makes the entire system work. It is the handshake that initiates a secure email conversation, signaling the presence, and version, of your security policy. Getting this tag right is the most important step in implementing MTA-STS to protect your email.

Start improving your email deliverability today

Get started