If you send mailing list emails, providing a reliable and accessible unsubscribe method is both a legal requirement and good practice. This article explains the methods available, how Leave Me Alone uses them, and what we recommend.

## Why this matters

Under the EU/UK GDPR, the California Consumer Privacy Act (CCPA), and CAN-SPAM, recipients have the right to opt out of marketing emails at any time. 


:::warning
Making this process difficult doesn't prevent opt-outs. It just means recipients mark your emails as spam instead, which damages your sender reputation and deliverability.

:::

Leave Me Alone's **Unsubscriber** attempts several methods to unsubscribe a recipient on their behalf. The more effective your unsubscribe implementation, the less likely you are to receive a formal removal request email from us.

## Recommended methods

### 1. List-Unsubscribe-Post header (recommended)

This is the gold standard. Adding both a `List-Unsubscribe` and `List-Unsubscribe-Post` header to your outgoing emails enables one-click unsubscription per [RFC 8058](https://datatracker.ietf.org/doc/html/rfc8058).

```none
List-Unsubscribe: https://yourdomain.com/unsubscribe?id=abc123
List-Unsubscribe-Post: List-Unsubscribe=One-Click
```

When present, Leave Me Alone will send a POST request directly to your endpoint — no browser interaction required. This is also required by Gmail and Yahoo for bulk senders (5,000+ emails/day) as of 2024.

Your endpoint should:

* Accept a POST request with the body `List-Unsubscribe=One-Click`
* Immediately remove or suppress the recipient
* Return a `200 OK` response

### 2. List-Unsubscribe header with URL

If you cannot implement one-click unsubscription, a `List-Unsubscribe` header containing an HTTPS URL is the next best option (per [RFC 2369](https://datatracker.ietf.org/doc/html/rfc2369)).

```none
List-Unsubscribe: https://yourdomain.com/unsubscribe?id=abc123
```

Leave Me Alone will open this URL and attempt to follow any unsubscribe steps on the page. For best results, the page should:

* Require **no login or account creation**
* Complete the unsubscription with **one click or fewer**
* Confirm the unsubscription clearly on completion

Multi-step flows, CAPTCHAs, or pages that require authentication will cause this method to fail.

### 3. Unsubscribe link in the email body

If no `List-Unsubscribe` header is present, Leave Me Alone will look for an unsubscribe link in the body of the email. The same guidance as above applies — the destination page should be simple, require no login, and complete the process in as few steps as possible.


:::tip
Even if you provide a body link, we strongly recommend also adding a `List-Unsubscribe` header. Headers are more reliable than body link detection and are used by email clients to surface the unsubscribe option natively.

:::

### 4. List-Unsubscribe header with mailto

A `mailto:` address in your `List-Unsubscribe` header is supported but is the least reliable method:

```none
List-Unsubscribe: mailto:unsubscribe@yourdomain.com?subject=unsubscribe
```

Leave Me Alone will send an email to this address on the customer's behalf. You must monitor this address and action requests promptly. Under GDPR, you are required to act within 30 days of receipt.

## What to avoid

* **Login walls:** you should never require a recipient to log in to unsubscribe
* **Re-confirmation emails:** asking the recipient to confirm via a follow-up email adds friction and may not be actionable by automated tools
* **Preference centres without a global opt-out:** recipients must be able to unsubscribe from all emails, not just specific categories
* **Broken or expired unsubscribe links:** these are a common cause of formal removal requests from us

## Testing your implementation

Before sending, verify that:


1. Your `List-Unsubscribe-Post` endpoint responds correctly to a POST with body `List-Unsubscribe=One-Click`
2. Your unsubscribe page works without cookies, sessions, or authentication
3. The unsubscription takes effect immediately, or within a reasonable processing window

## Need help?

If you're unsure how to implement any of the above, or you're receiving removal request emails from us and aren't sure why, [reach out to our support team](https://leavemealone.com/email-us), our tech team is happy to help.

---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the search API with the q parameter:

```
GET https://help.leavemealone.com/api/search?q=<your_query>
```

The query should be search terms that you're trying to find to answer your question.
The response will contain relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
