Notix
Learn

The List-Unsubscribe header: what it is, who requires it, and when Notix sets it.

Two headers let a mail client show its own Unsubscribe control at the top of a message and act on it with one request. Gmail and Yahoo have required them from bulk senders since February 2024. Notix adds them to every campaign and journey send and leaves them off receipts and codes on purpose. This page shows the headers, the request, and the rule for each kind of mail.

The two headers.

List-Unsubscribe carries where an unsubscribe request goes: an https URL, a mailto address, or both in angle brackets. On its own it lets a client show an Unsubscribe link, but the client has to open the URL and the reader still lands on a page. List-Unsubscribe-Post, defined in RFC 8058, adds the value List-Unsubscribe=One-Click and promises that a single POST to the URL with that body unsubscribes the reader with no page, no login and no confirmation. That promise is what lets Gmail act on the header instead of merely linking to it.

The headers on a Notix campaign send, as the receiving server sees them
From: Acme <news@mail.acme.com>
To: ada@example.com
Subject: October at Acme
List-Unsubscribe: <https://app.usenotix.dev/api/unsubscribe-oneclick?id=cmp_9f2k-ct_31a&hash=…&source=campaign>
List-Unsubscribe-Post: List-Unsubscribe=One-Click
Precedence: bulk

When the reader clicks Unsubscribe in Gmail, the client sends the request the second header promised:

The one-click request the mail client makes
POST /api/unsubscribe-oneclick?id=cmp_9f2k-ct_31a&hash=…&source=campaign HTTP/1.1
Host: app.usenotix.dev
Content-Type: application/x-www-form-urlencoded

List-Unsubscribe=One-Click

The link is signed for the contact and the campaign or journey it came from, so a forged request cannot unsubscribe someone else, and the endpoint only accepts links signed for one-click use. Precedence: bulk goes on the same sends; it is older and weaker, but some auto-responders still honour it.

Who requires it, and from whom.

Google’s email sender guidelines (read on 13 September 2026) say that senders of 5,000 or more messages a day to Gmail must support one-click unsubscribe on marketing and subscribed messages, with both headers present, alongside SPF and DKIM, a DMARC record, an aligned From domain, and a spam rate kept below 0.30% with 0.10% as the working ceiling. Yahoo’s sender best practices (read the same day) require bulk senders to implement a functioning List-Unsubscribe header that supports one-click unsubscribe under RFC 8058, to honour the request within two days, to pass DMARC with a policy of at least p=none, and to keep the spam rate below 0.3%. Enforcement at both began in February 2024.

Neither provider asks for the header on transactional mail, and neither should you add it there. The requirement is about mail people subscribed to and may want to stop; a receipt is not that.

What Notix does, by kind of send.

The rule is simple: a send with a list behind it gets the headers and honours the click at send time; a send without one gets neither.

Kind of sendHeadersOn clickLater sends to that contact
CampaignSet for you: List-Unsubscribe with a signed one-click link, List-Unsubscribe-Post, Precedence: bulk.The contact is marked unsubscribed from the book, with the reason recorded, and a contact.unsubscribed webhook fires.Refused at send time to an unsubscribed contact.
Journey stepSet for you, the same pair, with a link that names the journey.As above, and the contact's active journey runs end.Refused at send time to an unsubscribed contact.
Transactional (API or SMTP)Not set. There is no list to leave, and a receipt or a code must not carry a way to stop the next one.Not applicable.Goes out regardless of subscription. Only a suppressed address (hard bounce or complaint) is dropped.
Your own headerIf your send sets List-Unsubscribe or List-Unsubscribe-Post itself, Notix leaves yours in place and does not add its own.Your endpoint's behaviour.Your rule.

An unsubscribe and a suppression are different lists. The unsubscribe is a preference on the contact book: marketing mail stops, transactional mail continues. The suppression list is for addresses that must never be mailed again, hard bounces and complaints, and it applies to every kind of send. Keeping them apart is what lets a customer leave your newsletter and still get their receipt.

If you send marketing mail through the transactional API rather than a campaign, the headers are yours to add in the send request’s headers field, pointing at an endpoint of yours that accepts the one-click POST. Notix leaves a header you set in place and never overwrites it. The notification email page shows which notices belong on which side of that line.

Why it matters beyond compliance.

A reader who cannot find the unsubscribe link presses the spam button instead, and a complaint counts against your domain in a way an unsubscribe never does. Google’s spam-rate lines are on email deliverability; the causes of spam placement, of which a missing unsubscribe is one, are on emails going to spam. The pre-send check blocks a marketing message with no unsubscribe link in its body for the same reason: the header covers the client’s button, the link covers the reader who scrolls.

FAQ

Questions, answered.

What is the List-Unsubscribe header?
A standard email header that tells the receiving mail client where an unsubscribe request should go, so the client can show its own Unsubscribe control at the top of the message instead of making the reader hunt for a link in the footer. It carries a URL, a mailto address, or both. Its companion, List-Unsubscribe-Post, tells the client it may send that request as a single POST with no confirmation page, which is what one-click unsubscribe means.
What do Gmail and Yahoo require for one-click unsubscribe?
Since February 2024 both require senders of bulk mail to support one-click unsubscribe as defined in RFC 8058: a List-Unsubscribe header with an https URL and a List-Unsubscribe-Post header set to List-Unsubscribe=One-Click, with the request honoured within two days. Google applies the rule to senders of 5,000 or more messages a day to Gmail and to marketing and subscribed messages; Yahoo applies it to bulk senders. Both also require SPF and DKIM, a DMARC record, and a spam rate below 0.30%.
How do I add one-click unsubscribe to my emails?
If you send campaigns or journeys through Notix, you already have it: every marketing send carries List-Unsubscribe with a signed one-click link and List-Unsubscribe-Post, and the click is handled and recorded for you. If you send marketing mail through the transactional API instead, add the two headers yourself in the headers field of the send, point the URL at an endpoint of yours that accepts a POST and unsubscribes without a confirmation page, and Notix will not override them.
Should transactional emails have a List-Unsubscribe header?
No. Receipts, password resets and one-time codes are not a list anyone subscribed to, and a client showing an Unsubscribe button on a receipt invites people to stop mail they need. Google's requirement is for marketing and subscribed messages. Notix sets the headers on campaign and journey sends and leaves transactional sends without them.
What happens when someone clicks unsubscribe?
The mail client posts to the signed link. Notix verifies the signature, marks the contact unsubscribed from the contact book with the reason recorded, ends any journey runs the contact is in, and sends you a contact.unsubscribed webhook. The address is not added to the suppression list: a later transactional send to it still goes out, and a later campaign to it is refused at send time.
Is an unsubscribe the same as a spam complaint?
No. An unsubscribe is a preference you honour and nobody scores you for. A complaint is the recipient telling their mailbox provider your mail is unwanted; it counts against your domain's reputation and Notix adds the address to the suppression list so it is never mailed again. The point of a working one-click unsubscribe is to make leaving easier than complaining.

Send a campaign and see the headers on it.

One-click unsubscribe, a signed link and the click recorded against the right contact, without configuration.