What this RFC defines
RFC 2919 defines the List-Id header, which provides a unique, structured identifier for a mailing list. The identifier takes the form of a domain-like string (list-name.list-host.example.com) that email clients can use to filter, organise, and label mailing list messages consistently across messages and providers.
Where you see it in practice
When your email client automatically applies a label or filter to all messages from a specific mailing list, it is reading the List-Id header defined by RFC 2919. Gmail’s automatic categorisation of mailing list traffic uses List-Id as one of its signals. The structured format allows clients to extract both a human-readable name and a unique identifier from a single header.
How it connects to other RFCs
RFC 2919 is typically included alongside the headers defined in RFC 2369 (List-Unsubscribe and other list management headers). Together they form the standard header set for mailing list messages: RFC 2919 identifies the list, while RFC 2369 provides the management URLs. RFC 5322 defines the base message format these headers extend.
Current status
RFC 2919 is a current standard, published March 2001. The List-Id header is universally supported by major mailing list software (Mailman, LISTSERV, Sympa) and recognised by email clients for filtering and categorisation.
The List-Id header
RFC 2919 defined the List-Id header for mailing list identification. Unlike the List-Post address (which changes if a list moves servers) and unlike the Sender header (which is often the software rather than the list), List-Id provides a stable identifier for the mailing list itself. The format is a description followed by an angle-bracketed identifier: List-Id: My List . Client-side filtering rules typically match on List-Id because it survives address changes and server migrations.
Filtering with List-Id
Most modern mail clients support “filter by mailing list” as a rule action, and this rule almost always matches on List-Id under the hood. Gmail filters, Outlook rules, Apple Mail rules, and Thunderbird message filters all recognize List-Id. If you subscribe to a mailing list and want to sort messages automatically to a folder, using List-Id as the filter condition is more reliable than matching on the From address (which can be the moderator, the digest system, or the individual poster depending on message type).
Interaction with DMARC
Mailing list managers often need to rewrite the From header to avoid DMARC failures when the original sender domain publishes a strict DMARC policy. When the From is rewritten (typically to the list address with the original sender in the display name), the List-Id header remains unchanged, providing continuity for client-side filtering. This is one reason List-Id is preferred over From-based filtering in modern setups.
RFC 2919 (March 2001) defines the List-Id header: a stable identifier for mailing lists that persists across list name changes, host changes, and other operational shifts. Format: descriptive name + <list-name.domain>. Enables mail clients to filter, group, and route list messages reliably. Companion to RFC 2369 which defines the List-* URL headers (List-Unsubscribe, List-Post, List-Archive, etc.). Widely adopted; every reputable mailing list manager emits List-Id.
RFC 2919 at a glance
| Aspect | Detail |
|---|---|
| Purpose | Stable identifier for mailing lists across name/host changes |
| Header | List-Id |
| Format | Descriptive Name <list-name.domain> |
| Placement | Any position in headers (typically after Received) |
| Companion header | RFC 2369 List-Post, List-Unsubscribe, List-Archive, etc. |
| Published | March 2001 |
List-Id format
Client-side List-Id use cases
| Use case | Benefit |
|---|---|
| Rule-based filtering | Client rule “if List-Id contains ‘newsletter.example.com’ move to Newsletters folder” |
| Server-side sorting | Sieve script filters by List-Id into subfolders |
| Grouping messages | Mail client threads all messages from the same list together |
| Unsubscribe automation | Combined with List-Unsubscribe, one-click unsubscribe filtered per list |
| Reputation tracking | Reputation systems tag mail by List-Id for per-list metrics |
Why List-Id is preferred over From-based filtering
Common List-Id mistakes
List-Id: newsletter.example.com), wrong separator (List-Id: <newsletter@example.com>). Format matters for parsers; malformed headers may be ignored or misinterpreted.Related standards and further reading
- RFC 2369 List-* URLs: unsubscribe automation
- RFC 8058 One-Click Unsubscribe: Gmail/Yahoo 2024 requirement
Frequently asked questions
What is the difference between List-Id and List-Post?
List-Id identifies the list; List-Post specifies where to send a message that should go to the list. List-Id is a stable identifier used for filtering; List-Post is an actionable URL used by clients to help users post to the list. Both are complementary; List-Id per RFC 2919 and List-Post per RFC 2369. Well-configured lists emit both.
Should transactional mail have List-Id?
No. List-Id is for actual mailing lists (opt-in, unsubscribable). Transactional mail (password resets, order confirmations, alerts) is expected by the recipient and should not carry List-Id. If a client filter routes “list mail” to a specific folder, transactional messages carrying List-Id will be misfiled and possibly missed. Reserve List-Id for actual list traffic.
Can List-Id contain dashes and dots?
Yes, both. The identifier follows domain-name conventions: alphanumeric, dashes, and dots as separators. Best practice: use meaningful dot-separated components (list-name.owner-domain.com) rather than opaque strings. Case-insensitive comparison per RFC 2919.
What happens if I change List-Id on an existing list?
All downstream filter rules break. Users who filter by List-Id into a “Newsletters” folder will suddenly see the list arrive in Inbox. Server-side Sieve rules similarly. Best practice: keep List-Id stable across operational shifts. If you must change (e.g., domain sale, brand change), announce the change to subscribers so they can update filters.
Do all mailing list managers emit List-Id correctly?
Modern ones yes. Mailman (all versions since 2.1), Sympa, Discourse mailing list mode, Google Groups, MailChimp, ConvertKit, Beehiiv, ActiveCampaign all emit List-Id. Custom or minimal list scripts may omit it; encourage or configure emission for downstream filter compatibility. Some ESP platforms let senders customize List-Id; verify it points to a meaningful identifier before deploying.
About the Author

Alaa · LinkedIn
Email infrastructure specialist with 8+ years of hands-on experience in SMTP, deliverability, and email verification. I’ve configured and troubleshot mail systems across Postfix, Exchange, and cloud relays, managed IP reputation and warmup campaigns, and built verification pipelines processing millions of addresses. My work spans DNS authentication (SPF, DKIM, DMARC, BIMI), bounce handling, blocklist monitoring, and compliance frameworks including CAN-SPAM and GDPR. I write every article on SMTPedia to give email professionals, developers, and marketers the accurate, RFC-grounded reference they need.
About SMTPedia
SMTPedia is an independent email industry reference covering SMTP, IMAP, POP3, email deliverability, marketing platforms, DNS authentication, and email verification. Every article is researched from official provider documentation, IETF RFCs, and industry best practices. Settings and configurations are verified quarterly.
We are cited as a source by ChatGPT, Microsoft Copilot, and thousands of email professionals worldwide. Learn more about our editorial process.

