---
title: "Unsubscribe links"
description: "When an unsubscribe link is required, what a marketing send enforces, and why one-click unsubscribe means one recipient per message."
---

> **For AI agents:** the complete documentation index is at [llms.txt](/docs/llms.txt). Append `.md` to any page URL for its markdown version.

Marketing mail needs an unsubscribe mechanism and transactional mail does not; setting `type: "marketing"` is what tells Mailfully which gates to apply.

## What a marketing send does for you

For a `type: "marketing"` send, Mailfully injects an RFC 8058 one-click unsubscribe URL into the message.

## What a marketing send enforces

A `marketing` send is checked against three gates before it's accepted:

- Exactly one recipient across `to`, `cc`, and `bcc`.
- A postal address on file for the org.
- A separate monthly marketing allowance that has not run out.

Failing the recipient gate returns `422 marketing_single_recipient`; failing the address gate returns `422 marketing_missing_postal_address`; failing the allowance gate returns `429 marketing_quota_exceeded`.

## Why one recipient

A one-click unsubscribe URL identifies one person, so it can't be shared across recipients the way a shared `to` list works for transactional mail. A `marketing` send naming more than one recipient across `to`, `cc`, or `bcc` fails with `422 marketing_single_recipient`.

## Why a postal address

CAN-SPAM requires a physical postal address in commercial mail, so a `marketing` send with none on file for the org is refused with `422 marketing_missing_postal_address` rather than sent without one. Add one in the dashboard; see [CAN-SPAM](/concepts/policies#can-spam).

## A visible link in the body

A visible, working unsubscribe link in the message body is still expected of commercial mail. See [Policies](/concepts/policies) for the full compliance requirements, including the `List-Unsubscribe` and `List-Unsubscribe-Post` headers marketing messages must carry.

## Transactional mail

Transactional mail needs no unsubscribe mechanism, and nothing requires you to add one to a genuinely transactional message. See [Policies](/concepts/policies) for where the line between the two categories sits.

## Sending to someone who opted out

A `marketing` send to a recipient who opted out of marketing from your org fails outright with `422 recipient_unsubscribed`. That's a different outcome from a send to a suppressed address, which is never rejected: see [Why an address was suppressed](/deliverability/suppression-causes) for how bounces, complaints, and manual suppressions are instead handled silently.
