Marketing emails and unsubscribe
What a marketing send adds to your message, the checks it must pass, and how to handle the visible unsubscribe link.
For a type: "marketing" send, Mailfully adds List-Unsubscribe and List-Unsubscribe-Post headers with a one-click URL unique to that message, replacing any List-Unsubscribe you set. The body is sent unchanged. Transactional mail needs no unsubscribe mechanism.
curl -X POST https://api.mailfully.com/v1/emails \
-H "Authorization: Bearer mf_live_xxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"from": "news@mail.acme.com",
"to": "ada@example.com",
"subject": "October product news",
"html": "<p>What is new this month.</p><p>123 Main Street, Springfield. <a href=\"https://acme.com/unsubscribe\">Unsubscribe</a></p>",
"type": "marketing"
}'Set your postal address first
Open Settings in the dashboard, enter your Postal address and select Save. An organization admin or owner can do this. Without an address, a marketing send returns 422 marketing_missing_postal_address. See CAN-SPAM for why commercial mail needs one.
Add the visible link and address to the body
Mailfully doesn't check the body. It still needs a visible unsubscribe link and your postal address. The one-click URL appears only in the headers, and templates have no variable for it, so the visible link goes to your own unsubscribe page. Stop sending to anyone who uses it, for example by adding them on the Blocklist page. See Suppressions.
What a marketing send must pass
| Rule | Error |
|---|---|
Exactly one recipient across to, cc and bcc | 422 marketing_single_recipient |
| A postal address set for your organization | 422 marketing_missing_postal_address |
| Marketing allowance remaining | 429 marketing_quota_exceeded |
| The recipient hasn't opted out of marketing from your organization | 422 recipient_unsubscribed |
In a batch, each marketing message carries its own single recipient.
A send to an address on your suppression list is not rejected. See Why an address was suppressed.
