All terms Glossary

What is the Auto-Submitted header?

Updated

The Auto-Submitted header is an email header that marks a message as generated by software instead of written by a person. Defined in RFC 3834, it lets vacation responders, ticketing systems and other automated handlers recognize machine-sent mail and decide not to answer it. Its main purpose is preventing mail loops, where two automated systems keep replying to each other.

How the Auto-Submitted header works

The header takes one of a small set of values:

  • no: a person wrote the message. This is also the meaning when the header is absent.
  • auto-generated: software created the message on its own, not in response to another message. Notifications, receipts and scheduled reports fall here.
  • auto-replied: software created the message in direct response to another message, as an out-of-office reply does.

RFC 3834 sets the rule that makes the header useful: an automatic responder should not reply to a message whose Auto-Submitted value is anything other than no. A vacation responder that follows the rule answers a colleague's email and stays silent for an order confirmation.

Older conventions overlap with the header. Many responders also skip mail with a Precedence value of bulk or list, and Microsoft Exchange uses the X-Auto-Response-Suppress header to ask Outlook not to send certain automatic replies. Neither is standardized the way Auto-Submitted is, but both show up in inbound mail often enough that automated handlers check for them.

Why the Auto-Submitted header matters

Two automated systems without loop protection can answer each other indefinitely. An out-of-office reply sent to a ticketing system that confirms every incoming message by email is enough to start the cycle. A marked message breaks it at the first hop, because the receiving system can see there is no person waiting for an answer.

The header also helps routing. A receiving application can keep auto-generated and auto-replied mail away from queues meant for people, so an out-of-office notice does not open a support ticket or count as a customer reply.

Best practices for the Auto-Submitted header

Transactional email and notifications should carry Auto-Submitted: auto-generated. Password resets, alerts and receipts are created by software, and the header tells responders not to answer them.

Automatic replies, such as a ticket acknowledgment sent because an email arrived, should use auto-replied. A system that sends them should check incoming mail first and stay silent for anything already marked as automatic, since that check is what stops a loop from starting on its side.

Header checks alone miss some auto-replies, because not every responder sets the header. Inbound processing usually combines the Auto-Submitted check with X-Auto-Response-Suppress, Precedence values and subject patterns such as "Automatic reply" or "Out of office".

Auto-Submitted header in Lettr

The Lettr send API accepts custom headers in the headers field, up to 10 per email with values of up to 998 characters. Auto-Submitted is not on the list of headers Lettr blocks, which includes From, Message-ID and DKIM-Signature, so a send request can include "headers": { "Auto-Submitted": "auto-generated" }.

On the inbound side, a reply sent to a variable reply-to address on an inbound domain arrives as a relay.relay_delivery webhook event. The Reply Tracking docs include an auto-reply check that treats any Auto-Submitted value other than no as automatic, also looks at X-Auto-Response-Suppress, Precedence and subject patterns such as "out of office" and "automatic reply", and logs those messages without creating a ticket.

Automatic replies can also show up in delivery data. Lettr's bounce classification includes class 60, Auto-Reply, for automatic replies such as vacation messages, with no action needed. The Reply Tracking page has the complete inbound example.

Further reading