What Auto-Submitted is for
RFC 3834 defines the Auto-Submitted header to indicate whether a message was originated by an automatic process or automatic responder. The value auto-replied is recommended for automatic responses such as vacation notices. That makes the header far more semantically useful than scanning subject lines for “out of office.” A standards-aware parser should inspect it early and route the message into an automatic-response branch.
Do not assume every automatic system is compliant
The standard is a recommendation and real mail ecosystems contain legacy products, custom scripts, and gateways. Some out-of-office messages omit Auto-Submitted; others add vendor-specific headers. Therefore, absence of the header is not proof of a human reply. Use a layered classifier: standards headers first, then provider-specific auto-response headers, then carefully chosen subject/body heuristics. Record which rule fired so false positives can be debugged.
Automatic reply is not the same as no reply
From a sequencing perspective, an out-of-office message proves the mailbox is receiving and an automatic agent responded, but it does not necessarily express interest or rejection. Give it its own state. You might pause follow-ups until the return date when a reliable date can be extracted, or simply skip the next scheduled touch and review manually. Do not count it in human reply-rate metrics, and do not mark the lead permanently closed unless another rule says so.
Use threading evidence to match it to the correct outbound message
RFC 3834 recommends In-Reply-To and References when the triggering message had a Message-ID. Use those fields to attach the auto-response to the exact campaign thread. Subject matching alone is fragile because many prospects can share the same subject and automated systems may prepend locale-specific prefixes. If headers are missing, fall back to sender address, recipient alias, time window, and campaign metadata rather than assigning the response to the newest open sequence by guess.
Avoid response loops
RFC 3834 also exists to discourage automatic-response loops. Your own systems should not auto-reply to a message whose Auto-Submitted value indicates an automatic process. For cold-outbound operations, the main risk is not usually sending a vacation response back; it is a webhook or support bot that interprets every inbound message as needing another automated message. Add a guard before any auto-generated response action and test it with actual OOO samples.
Date extraction should be conservative
Some vacation responders say “I will return August 26,” others say “back next week,” and some include multiple dates in signatures or quoted text. Only reschedule automatically when the return date is unambiguous and within a sensible window. Otherwise mark the lead as auto-reply-review. A wrong extraction can schedule an awkward follow-up months later or immediately after a holiday. The header classification can be high-confidence even when the date is not.
Keep the message unread if your workflow needs it
If a human sales operator also watches the inbox, fetch the OOO message without unnecessarily changing \Seen so the UI state remains meaningful. IMAP BODY.PEEK is designed for reading body content without setting the Seen flag. More importantly, keep automation processed-state in your own database rather than tying it to unread status. The worker can safely classify the message while a person still sees it as unread for review.
Build a small labeled corpus
Save representative automatic replies from Gmail, Microsoft, Yahoo, custom corporate gateways, and different languages with personal data redacted. Label the headers and the expected classification. Run new parser versions against this corpus before deployment. The goal is not perfect natural-language understanding; it is high precision on the common automatic-response signals so a founder does not accidentally send repeated follow-ups to someone who already generated a clear vacation notice.
Model out-of-office as a conversation event with its own state
RFC 3834 defines the Auto-Submitted header so automatic responses can identify themselves; `auto-replied` is the value commonly relevant to out-of-office style messages. Use that header when present, but do not assume every remote system implements it perfectly. Combine it with threading evidence, sender/recipient relationships, and recognizable reply metadata. The correct classification is neither “human positive reply” nor “bounce”: it is an automatic conversation event that proves the mailbox generated a response while usually providing no buying intent.
Decide how this event affects sequencing before writing parser code. A conservative outbound workflow can pause follow-ups when a credible out-of-office response is tied to the thread, extract a return date only when the text is unambiguous, and place the contact into a review or reschedule state. Do not auto-schedule from every date-looking string; signatures, holidays, and quoted content can all contain dates. Also prevent loops by ensuring your own automated messages carry appropriate automatic-submission semantics and do not answer other automatic replies. Keep a labeled corpus of real OOO variants, including messages without Auto-Submitted, and measure false positives separately from human-reply misses. This creates an operationally useful classifier without pretending one header is universal.
Do not let an automatic reply inflate campaign reply rate
Reporting should keep automatic responses out of the human reply numerator. A campaign with ten genuine replies and twenty vacation notices did not receive thirty sales replies, even though thirty messages arrived in the inbox. Track `human_reply`, `automatic_reply`, and `delivery_status` as separate event families, then decide whether each one pauses or ends a sequence. This makes deliverability and sales metrics interpretable at the same time: an out-of-office proves message reachability and threading, but it does not have the same business meaning as a person answering the offer.
Field checklist
- Check Auto-Submitted before subject or body keywords.
- Classify automatic reply separately from human positive or negative reply.
- Use In-Reply-To and References to attach the message to a sequence.
- Do not auto-respond to messages marked as automatically submitted.
- Only extract a return date when it is unambiguous.
- Keep automation state separate from the IMAP unread flag.
Primary sources
Standards and provider policies can change. These links are the reference points used for this field note.
- RFC 3834 — Automatic Responses to Electronic MailIETF / RFC Editor — Auto-Submitted semantics for distinguishing automatic responses from human replies.
- RFC 5322 — Internet Message FormatIETF / RFC Editor — Message header structure, Message-ID, In-Reply-To and References threading fields.
- RFC 9051 — IMAP4rev2IETF / RFC Editor — Mailbox flags, UIDs, BODY.PEEK and IMAP4rev2 behavior.