Key takeaways

  • One-click unsubscribe uses two headers: List-Unsubscribe (with an HTTPS URL) and List-Unsubscribe-Post.
  • The receiving inbox sends a POST request; the user does not have to visit a page or log in.
  • Gmail and Yahoo require it for marketing and promotional mail sent in bulk.
  • Unsubscribe requests should be processed within two days.
  • Keep a visible unsubscribe link in the email body too; the header does not replace it.
In this guide
  1. What one-click unsubscribe is
  2. The two headers
  3. The technical rules of RFC 8058
  4. Who must use it
  5. Why it matters for deliverability
  6. How to check your emails
  7. Common mistakes
  8. Footer link vs one-click header
  9. Building it yourself vs using a platform
  10. What happens behind the button
  11. Preference centers and one-click
  12. Legal requirements vs mailbox requirements
  13. How one-click unsubscribe affects your metrics
  14. Testing the endpoint safely
  15. One-click unsubscribe checklist
  16. Frequently asked questions

What one-click unsubscribe is

One-click unsubscribe lets a recipient leave your list directly from their email client, using a button that Gmail, Yahoo, Apple Mail and others display next to your sender name or at the top of the message. The user clicks once, and the inbox tells your system to unsubscribe them. No landing page, no login, no confirmation form.

It works through two email headers, standardized in RFC 8058. It is different from the unsubscribe link in your footer, and since 2024 it is required by Gmail and Yahoo for marketing and promotional mail sent in bulk.

The two headers

List-Unsubscribe: <https://yourbrand.com/unsubscribe?u=8f3a2c&l=news>, <mailto:unsubscribe@yourbrand.com?subject=unsubscribe>
List-Unsubscribe-Post: List-Unsubscribe=One-Click
HeaderRoleRules
List-UnsubscribeGives the address(es) to unsubscribeMust contain one HTTPS URL for one-click; a mailto address can be added as a fallback
List-Unsubscribe-PostDeclares that the URL supports one-click via POSTExact value: List-Unsubscribe=One-Click

When the user clicks the inbox's unsubscribe button, the mailbox provider sends an HTTPS POST request to the URL with the body List-Unsubscribe=One-Click. Your server must unsubscribe the recipient identified by the URL.

The technical rules of RFC 8058

  • HTTPS only: the one-click URL must use HTTPS.
  • POST, not GET: the action must happen on a POST request. GET requests can be triggered by link scanners and security tools, which would unsubscribe people by accident.
  • No extra steps: no login, no cookies, no confirmation page for the POST request.
  • Identify the recipient in the URL: use an opaque token, not the plain email address, so the link cannot be abused.
  • Signed headers: the message must have a valid DKIM signature that covers both headers, so they cannot be altered in transit.
  • Fast processing: Gmail and Yahoo ask senders to honor unsubscribes within two days.

Who must use it

Type of emailOne-click required?
Newsletters, promotions, marketing automationsYes, for bulk senders to Gmail and Yahoo
Receipts, password resets, security alertsNo (transactional)
Account or service notificationsUsually no, if purely informational
Transactional emails packed with promotionsRisky: may be treated as marketing

Even if you are not technically a bulk sender, add one-click unsubscribe to all marketing mail. It reduces spam complaints, which protects your sender reputation.

Why it matters for deliverability

An unhappy subscriber has two buttons: unsubscribe or report spam. If unsubscribing is hidden or slow, they click "Report spam". Every complaint hurts you, and Gmail and Yahoo set a complaint limit of 0.3%. A one-click unsubscribe button turns potential complaints into harmless unsubscribes. In audits, I regularly see complaint rates fall after senders make unsubscribing easier.

How to check your emails

  1. Send a real campaign to a Gmail address you control.
  2. Open "Show original" and search for List-Unsubscribe. Both headers must be present, with an HTTPS URL.
  3. Check DKIM: DKIM must pass for your domain. The h= list in the DKIM-Signature header should include list-unsubscribe and list-unsubscribe-post.
  4. Look for the unsubscribe button in Gmail next to the sender name. Note: Gmail may not display it for every sender, for example new senders with little history, even when headers are correct.
  5. Test the process with a test address: click the button, then check that the contact is unsubscribed in your platform.
  6. Check Postmaster Tools: the compliance view shows whether Gmail considers your one-click unsubscribe compliant. See Google Postmaster Tools.

Common mistakes

MistakeConsequence
Only a mailto: address in List-UnsubscribeNot one-click compliant for Gmail and Yahoo
Missing List-Unsubscribe-Post headerInbox cannot use one-click
URL unsubscribes on GETSecurity scanners unsubscribe people by accident
URL requires login or a confirmation page for the POSTBreaks RFC 8058
Headers not covered by DKIMProviders may ignore them
Unsubscribes processed manually once a weekExceeds the two-day requirement, more complaints
Footer unsubscribe link removedStill required: a visible link in the body

You need both. The header gives inboxes a standardized button. The visible link in the email body is required by anti-spam laws in many countries and by Yahoo for bulk senders, and it is what people look for when reading on devices or clients that do not show the button. The footer link can lead to a preference page, as long as unsubscribing completely stays simple.

Building it yourself vs using a platform

If you send through your own application, you must generate a unique token per recipient and list, build an HTTPS endpoint that accepts POST requests, process them immediately, and add both headers before DKIM signing. That is a real development and maintenance task.

Most reputable email marketing platforms do all of this automatically for marketing campaigns. Check your platform's documentation and test one campaign as described above.

What happens behind the button

  1. A subscriber clicks "Unsubscribe" next to your sender name in Gmail or Yahoo.
  2. The mailbox provider reads your List-Unsubscribe header and finds the HTTPS URL.
  3. It checks that List-Unsubscribe-Post is present and that DKIM covers both headers.
  4. It sends a POST request to the URL with the body List-Unsubscribe=One-Click.
  5. Your system reads the token in the URL, identifies the contact and list, and unsubscribes them.
  6. The subscriber sees a confirmation inside their inbox, without visiting your website.

If any step fails, the provider may fall back to the mailto address, show nothing, or consider you non-compliant.

Preference centers and one-click

A preference center lets subscribers choose topics or frequency instead of leaving completely. It is a good idea, but it must not replace one-click. Use the one-click header for full unsubscribes, and link the preference center from your footer for people who want fewer emails. Both together reduce complaints and keep more subscribers.

Do not confuse the two. Anti-spam laws (such as CAN-SPAM in the United States, GDPR and ePrivacy rules in Europe, or CASL in Canada) require a working way to unsubscribe and set deadlines to honor requests, which vary by law. Mailbox provider rules, such as Gmail's and Yahoo's, add the technical one-click headers and a two-day processing target. You need to meet both: the law protects the recipient's rights, and the provider rules protect your access to the inbox.

This is general information, not legal advice.

How one-click unsubscribe affects your metrics

After enabling one-click unsubscribe, many senders see two changes: unsubscribes rise a little, and spam complaints fall. That is the expected and healthy result. People who no longer want your emails leave cleanly instead of hurting your reputation. Do not judge the change by the unsubscribe number alone; look at complaints, inbox placement and clicks over the following weeks.

Testing the endpoint safely

If you build or maintain your own unsubscribe endpoint, test it with a dedicated test contact. Send a POST request with the body List-Unsubscribe=One-Click to the URL from the header, then confirm that the contact is unsubscribed and that a simple GET request to the same URL does not unsubscribe anyone. Also check that an invalid or expired token returns an error without revealing whether an address exists.

One-click unsubscribe checklist

  • List-Unsubscribe header with an HTTPS URL
  • List-Unsubscribe-Post: List-Unsubscribe=One-Click
  • Both headers covered by a passing DKIM signature on your domain
  • POST requests processed without login or confirmation
  • Unsubscribes applied within two days, ideally instantly
  • Visible unsubscribe link kept in the email body
  • Compliance confirmed in Postmaster Tools

For the full list of provider rules, see Yahoo and AOL sender requirements and SPF, DKIM and DMARC explained. If complaints are still high after enabling it, look at consent and list quality: how to clean your email list.

Frequently asked questions

Is a footer unsubscribe link enough?

No, not for bulk marketing mail to Gmail and Yahoo. You need the one-click headers as well as a visible link in the body.

Do transactional emails need one-click unsubscribe?

No. Receipts, password resets and other transactional messages are exempt. Mixed messages with heavy promotion may be treated as marketing.

Does the unsubscribe URL have to be HTTPS?

Yes. RFC 8058 one-click requires an HTTPS URL that accepts a POST request.

Why does Gmail not show the unsubscribe button for my emails?

Gmail shows it only when the headers are present and valid, the message is authenticated, and the sender has enough reputation. Absence of the button is not always an error.

Do I need to build this myself?

Not if you use a reputable email platform. Most add the headers automatically to marketing campaigns.

Written by Badr Zemrani

Badr is an email marketing and SEO consultant with more than 15 years in digital marketing. He runs BZCOM, a digital agency in Casablanca, Morocco, where he plans, sends and troubleshoots email campaigns for businesses every week. SendCleanly is where he shares what actually works.

More about Badr · LinkedIn