Deliverability

List-Unsubscribe header checker

Paste raw headers and see whether List-Unsubscribe and List-Unsubscribe-Post pass RFC 8058's one-click unsubscribe syntax, with no request ever sent to the link inside.

Free, no accountIn your browser

Paste the List-Unsubscribe and List-Unsubscribe-Post lines from a message's raw headers. Nothing here is sent anywhere - this only reads the text.

Try

Result

Paste headers to check them

Paste the List-Unsubscribe and List-Unsubscribe-Post lines and they are checked as you type.

What this is

This list-unsubscribe header checker reads the List-Unsubscribe and List-Unsubscribe-Post lines someone else already wrote into a message and checks them against RFC 8058's one-click unsubscribe syntax, without ever sending a real request to the URL inside.

Gmail and Yahoo both offer a one-click "Unsubscribe" button next to a sender's name when a message carries two specific headers: a List-Unsubscribe header with an https:// URI, and a List-Unsubscribe-Post header whose body is the exact string "List-Unsubscribe=One-Click" (RFC 8058 §3.1). Get either header wrong - the wrong URI scheme, a missing bracket, a wrong-case body - and the receiver silently falls back to the slower mailto: or webpage flow instead of showing the button at all.

How to read the result

The findings read top to bottom: first whether List-Unsubscribe carries a bracketed https:// URI at all, then whether List-Unsubscribe-Post carries the exact body RFC 8058 requires. A "fail" names precisely what was found instead of what was needed, and a wrong body comes with the correct string ready to copy. The facts block below the findings echoes exactly what this tool read out of the two headers, so a mismatch between what you pasted and what this tool saw is visible rather than hidden inside the verdict.

One of our guides, "What Google and Yahoo require from bulk senders, and how to prove you meet it," covers why both companies now require this header pair rather than merely a visible unsubscribe link in the body.

Common mistakes

What goes wrong most often, and how to tell.

  • Pasting a URI with no angle brackets at allRFC 2369 §2 says a receiver SHOULD ignore the whole List-Unsubscribe field if its content does not begin with the opening angle bracket "<" - a URI typed without brackets can make the entire header invisible to the receiver, not just malformed.
  • Assuming a mailto: address alone is enoughRFC 8058 §3.1 allows a mailto: URI to ride alongside the required https:// one, but it never stands in for it - a header with only a mailto: URI has nothing for a receiver to POST to, so no one-click button appears.

Questions

What people ask about this tool.

  • RFC 8058 §3.1 defines one-click unsubscribe as two headers working together: List-Unsubscribe names the https:// URI, and List-Unsubscribe-Post carries the fixed body a receiver POSTs to it (§3.2) - either one missing or wrong means no one-click button, even if the other is perfect.
  • No. RFC 8058 §3.1 says the List-Unsubscribe header MUST contain one HTTPS URI and MAY contain other non-HTTP/S URIs such as mailto: alongside it - a mailto:-only header has nothing a receiver can POST to, so one-click fails even though the header is not empty.
  • Never. It only reads the text you paste and checks its syntax against RFC 8058 and RFC 2369 - sending a real request to the URL inside would unsubscribe whoever the header actually belongs to, which this tool is built never to do.
  • The body has to be the exact string "List-Unsubscribe=One-Click" - a lowercase "one-click", a trailing semicolon, or extra characters anywhere in the value all count as a different string to a receiver doing an exact comparison, even though they read the same to a person.

Sources

Every fixed value here comes from the provider’s own documentation. These pages change, so each says the day it was last read.

Use it from the API

The same check, as one request.

Request
curl -X POST https://resellerhq.com/api/tools/list-unsubscribe-checker \
  -H "Content-Type: application/json" \
  -d '{"headers":""}'
Response
{
  "tool": "list-unsubscribe-checker",
  "input": {
    "headers": ""
  },
  "result": {
    "verdict": {
      "tone": "neutral",
      "headline": "Paste headers to check them",
      "summary": "Paste the List-Unsubscribe and List-Unsubscribe-Post lines and they are checked as you type."
    },
    "findings": [],
    "parts": []
  }
}

Sell the mailboxes behind the mail you are getting delivered, under your own brand.

Get started

Company names and logos are trademarks of their owners, shown only to identify each service.