ExplainerUpdated October 26, 2026
RFC 3834: why AI agents should not reply to newsletters
An AI agent should not answer recognisably automatic mail on its own: out-of-office notices, bounce messages, newsletters, notifications and mail from no-reply addresses. Such replies often go nowhere or can start loops. This cautious rule goes beyond individual recommendations, but it rests on RFC 3834, which since 2004 has described when automatic responses should not be sent. As soon as an agent answers incoming mail on its own, it acts as an automatic responder in the sense of these recommendations.
Last checked: 2026-10-26
Contents
- What RFC 3834 covers
- The Auto-Submitted header
- When an autoresponder should stay silent
- How to recognise automatic mail in practice
- Why this matters more for AI agents than for vacation replies
- What an agent should do instead
- How Command Mail handles it
- Review status
- Where to start
- Frequently asked questions
- Sources
01What RFC 3834 covers
RFC 3834 is the IETF's set of recommendations for automatic responses to email[1]. It distinguishes personal responses, such as an out-of-office notice, from responses sent by services, such as mailing list servers. Its first principle: an automatic responder must not blindly respond to every message it receives.
The RFC names the reasons: mail loops, spam and viruses, being used to amplify unwanted mail, revealing personal information, and denial-of-service attacks against the responder. From these it derives concrete cases for staying silent, plus a header that lets automatic mail identify itself.
02The Auto-Submitted header
Auto-Submitted is the header a message uses to say that a program sent it. RFC 3834 defines three values[1]:
| Value | Meaning under RFC 3834 |
|---|---|
no | Explicitly marked as originated by a person; usually such mail carries no header at all |
auto-generated | From an automatic, often periodic process, not a direct response to a message |
auto-replied | An automatic response to another message, such as an out-of-office notice |
The RFC also allows extension values. The key rule comes first in the guidelines: no automatic response should be sent to a message carrying Auto-Submitted with any value other than no (SHOULD NOT). A program that responds automatically should label its own response auto-replied (SHOULD). If the program on the other side honours the header, it does not write back. That is not guaranteed, so the header is one safeguard among several.
03When an autoresponder should stay silent
Besides the header, RFC 3834 lists further cases where no automatic response should, or may, be sent. Some apply to every responder, some only to personal absence notices[1]:
- The response would go to a null address, a Return-Path of
<>. Mail servers use it for bounce messages. This one is a MUST NOT. - Absence notices: none of your own addresses is in To, Cc, Bcc or the Resent fields. The message probably came through a list or a forward (SHOULD NOT). The RFC notes that Bcc recipients may be missing from the header.
- Absence notices: the same sender already received the same notice within the last few days (SHOULD NOT). The RFC recommends 7 days as the default.
- The message has a Precedence header of
list,junkorbulk, or a List header. The responder may stay silent; because Precedence is not standard, the RFC recommends no particular behaviour for it. - The address looks like another machine, such as
MAILER-DAEMON,owner-*or*-request. The responder may stay silent (MAY).
The RFC also says where an automatic response should go: after delivery to the Return-Path address, before delivery to the SMTP envelope return path (SHOULD). Personal responders should not fall back to From, Reply-To or Sender even then (SHOULD NOT); services may use From when their own specification explicitly defines that behaviour. A reply a person initiates and approves is not an automatic response and goes to the normal reply address. An agent that replies on its own falls within the RFC's scope, even when its text is individual.
04How to recognise automatic mail in practice
Auto-Submitted alone is not enough, because many senders never set it. Newsletter services, shops and customer portals often send bulk mail without it. Detection combines several signals. None of them proves that a machine wrote the message; some only show list traffic or a request not to receive automatic responses:
| Signal | What it indicates | Basis |
|---|---|---|
Auto-Submitted other than no | Automatic mail or automatic response | RFC 3834[1] |
Precedence: bulk, junk or list | Bulk mail or a list | RFC 3834, not a standard header[1] |
List-Id, List-Unsubscribe | Mailing list or newsletter | RFC 2919[3], RFC 2369[2] |
Return-Path: <> | Null return path, as used by bounces or other automatic responses; not a destination for a reply | RFC 3834[1] |
X-Auto-Response-Suppress | Exchange and Outlook ask to suppress certain automatic responses: All all of them, OOF absence notices, AutoReply other automatic replies | Microsoft MS-OXCMAIL[4] |
X-Autoreply, X-Autorespond | Common autoresponder markers | Practice, not a standard |
Senders like noreply@, do-not-reply@, mailer-daemon@ | An address that usually reads no replies | Practice; RFC 3834 names MAILER-DAEMON |
| Subjects like "Automatic reply:", "Out of Office:", "Undeliverable" | Absence notice or bounce | Practice, language-dependent |
| A line like "Please do not reply to this email" | A request not to use this channel for replies; possibly an unattended mailbox | Practice, language-dependent |
The lower rows are heuristics. A person can type "Out of Office:" into a subject line, and a newsletter can omit every header. No detection is complete. It lowers the risk but does not prevent every loop.
05Why this matters more for AI agents than for vacation replies
A vacation responder sends one fixed text, and well-built ones keep the recommended interval per sender. An agent can write individual replies and react to any message in the mailbox; like a vacation responder, it has an interval or a header check only if someone built one in. If it meets another machine that also replies, a loop can start.
Some cases do harm even without a loop. A reply to noreply@ can go unnoticed or come back as a bounce. A reply to list mail can, depending on the reply address, go to the list instead of one person. And a reply to spam can show the sender that the address is live and read. RFC 3834 names this disclosure of personal information as a reason for restraint.
Agents face one more risk: a crafted message can instruct the agent to reply or to send data. See email prompt injection. Blocking replies to machines does not replace approval there, but it shrinks the attack surface.
06What an agent should do instead
An agent should read and sort automatic mail, not answer it. An out-of-office notice tells you when someone is back; a bounce reports a delivery problem whose reason is in the text; a newsletter belongs in the archive or in a digest. In all three cases a note to you is more useful than a message to the sender.
If someone does need to respond, for example because a no-reply notification hides a real issue, the answer belongs in the right channel: the support address in the text or the customer portal. That call is better made by a person. How an approval before sending should work is covered in human in the loop for email agents.
07How Command Mail handles it
Command Mail is our product. We checked the following statements against the app code at commit 5a48c2b. The check runs on the server, whichever agent you connect.
- On arrival: every incoming message, including forwarded mail and imported mail recognised as incoming, is checked for Auto-Submitted, Precedence, List-Id, List-Unsubscribe, X-Autoreply, X-Auto-Response-Suppress with
All,OOForAutoReply, an empty Return-Path, no-reply senders and the typical subject lines of absence notices and bounces. The reason is stored with the message. - On reply: if an agent sends a direct reply referencing such a message or creates a new reply draft for it, the server refuses. It also checks for sender names containing no-reply and for do-not-reply notices. It tries to evaluate only the part the sender wrote, using typical quote markers, within the first 20,000 characters.
- On new mail sent directly: if an agent sends directly to a no-reply address, or to an address whose incoming mail stored in your account is all marked automatic, the server refuses as well. A single unmarked incoming message from that address prevents this history-based block, even if it was in fact automatic; the block on no-reply addresses still applies.
- Feedback: the agent receives the code
automated_senderwith the reason. You can still reply yourself in the app.
Several limits, stated plainly. Detection is a heuristic: a newsletter without any of these signals is not caught, and a person with a matching subject line can be flagged by mistake; postmaster@, for example, is blocked although a person may read it. Without a reference to the received message, the server cannot tell that a send is a reply; direct sends then get only the recipient checks. Drafts of new mail are not checked for machine addresses when saved, edits to existing agent drafts do not rerun the check, and a version you approve is sent without this block, because the decision is then yours. And Command Mail currently does not add an Auto-Submitted header to mail an agent sends directly; in the app code only sign-in and confirmation mails carry it. An autoresponder on the other side therefore cannot recognise such a reply as automatic through that header.
08Review status
Last checked: 2026-10-26. RFC 3834, RFC 2369, RFC 2919 and the Microsoft specification were retrieved that day. Statements about Command Mail rest on the app code at commit 5a48c2b (detection on arrival, checks when sending and when saving agent drafts). We did not run our own tests against third-party autoresponders for this page.
09Where to start
Before letting any agent send on its own, check whether it recognises automatic mail. The permissions involved are covered in scopes for email agents. You can start for free and then connect your agent over MCP.
Frequently asked questions
What is RFC 3834?
RFC 3834 is the IETF's set of recommendations for automatic responses to email, such as out-of-office notices and replies from services. It says when a program should stay silent and defines the Auto-Submitted header, which automatic mail uses to label itself.
What does the Auto-Submitted header mean?
Auto-Submitted states whether a message was submitted automatically. auto-generated marks mail from automatic, often periodic processes; auto-replied marks an automatic response to another message; no explicitly marks a message as originated by a person. RFC 3834 says no automatic response should be sent to a message whose Auto-Submitted value is anything other than no (SHOULD NOT).
Why shouldn't an AI agent reply to newsletters or out-of-office messages?
Because often nobody reads the reply, or because it can start a loop. Two programs that answer each other automatically can fill a mailbox quickly. Replies to no-reply addresses may go unnoticed or bounce, and replies to list mail can end up on the list.
Is the Auto-Submitted header enough to detect automatic mail?
No. Many newsletters, shops and portals leave it out. Reliable detection combines it with Precedence, List-Id, List-Unsubscribe, an empty Return-Path, vendor headers such as X-Auto-Response-Suppress, and signs like no-reply in the sender. Even then it remains a heuristic.
How does Command Mail keep agents from answering automatic mail?
Command Mail checks incoming mail for these signs on arrival and stores the reason. The server refuses, with the code automated_sender, an agent's direct replies to such mail and new agent reply drafts for it, as well as new mail an agent sends directly to no-reply addresses or to addresses whose stored incoming mail is all marked automatic. You can still reply yourself in the app.