DontMailMe is a free, open-source, zero-data unsubscribe tool — a private Unroll.me / Cleanfox alternative that auto-unsubscribes you from newsletters using the official RFC 8058 one-click standard. It generates a copy-paste script that runs inside your own Google or Microsoft account, so our servers never see your email or your data. Built for humans and their AI agents (ships llms.txt, AGENTS.md, and raw gmail.gs / outlook.ps1). Works on Gmail, Outlook, and Apple Mail.
⭐ If you'd rather unsubscribe than be sold, give the repo a star — it's the only "payment" that keeps this free and open. Star DontMailMe →
- 🔒 Zero-data by design — there's no server in the loop, so we can't see, store, or sell your email. Not a privacy policy — an architecture.
- 📖 Open source (MIT) — it's ~160 lines you can read before you run them. Don't trust us; verify the code.
- ✅ Safe by standard — it only contacts the unsubscribe address the sender published in the message header, using the authenticated RFC 8058
List-Unsubscribe-Postrequest where one-click is supported. It never clicks links in the email body, so it can't be lured to a tracking or phishing page. Mail is deleted only after a confirmed unsubscribe. - 🤖 Built for humans and their AI agents — ships machine-readable scripts so an assistant can set it up for you instead of fumbling through a web UI.
- 🆓 Free, pay-what-you-want — half of any donation plants a tree via One Tree Planted. The tool is 100% free either way.
- 🇪🇺 Works everywhere, including the EU — no GDPR geo-block.
Pick your mail client — full visual guides on dontmailme.org.
- Open script.google.com → New project.
- Services (+) → Gmail API → Add.
- Paste the script from
gmail.gs(or the personalized version from dontmailme.org/gmail). Add any senders to keep toALLOWED_SENDERS. - Run
testDryRunand check the log — it shows exactly what would be unsubscribed. Nothing changes yet. - Run
installTriggeronce. Your inbox now cleans itself every 15 minutes.
For a one-click sender, this single authenticated request is the whole job — no body parsing, no link clicking. (An authenticated sender that offers no one-click gets a plain request to the same header address instead; that can't be confirmed, so its mail is kept rather than deleted.)
// RFC 8058 one-click unsubscribe — only on the DKIM-signed header UrlFetchApp.fetch(postUrl, { method: 'post', contentType: 'application/x-www-form-urlencoded', payload: 'List-Unsubscribe=One-Click' });
Select the newsletters, then run the local script — outlook.ps1 (PowerShell) or the AppleScript from dontmailme.org/outlook. Nothing leaves your computer.
AI assistants increasingly handle chores like unsubscribing — today by driving fragile web UIs. DontMailMe gives them the reliable, standards-based path instead:
- MCP server — a Model Context Protocol server so assistants can call DontMailMe as a tool. Zero-data: it serves the scripts/instructions, never your inbox.
AGENTS.md— a literal, numbered runbook for the full setup.gmail.gs·outlook.ps1— ready-to-run scripts at stabletext/plainURLs.llms.txt/llms-full.txt— a machine-readable index of the whole project.
As far as we know, DontMailMe is the first consumer unsubscribe tool with a documented agent surface — including a real MCP server.
Add it to an MCP client (e.g. Claude Desktop):
{ "mcpServers": { "dontmailme": { "command": "npx", "args": ["-y", "@sein-io/dontmailme-mcp"] } } }Most unsubscribe tools are free because you are the product, or paid because privacy is sold back to you. DontMailMe is neither: free, open-source, and architecturally unable to see your data.
| DontMailMe | Unroll.me | Cleanfox | Leave Me Alone | Clean Email | Mailstrom | |
|---|---|---|---|---|---|---|
| Open source (auditable) | ✅ MIT | ❌ | ❌ | ❌ | ❌ | ❌ |
| Inbox never leaves your own cloud | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Sells / monetizes inbox data | ❌ | ❌ | ❌ | ❌ | ||
| Official RFC 8058 one-click | ✅ | n/a | n/a | n/a | n/a | n/a |
| Available in the EU (GDPR) | ✅ | ❌³ | ✅ | ✅ | ✅ | ✅ |
| Agent / MCP-ready | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Plants trees + shows CO₂ | ✅ | ❌ | ✅ | opt-in | ❌ | ❌ |
| Price | Free (PWYW) | Free | Free | Paid | Paid | Paid |
¹ In 2019 Unroll.me settled U.S. FTC allegations that it deceived users while its parent monetized inbox-derived data (neither admitted nor denied). · ² Cleanfox is operated by Foxintelligence (now part of NielsenIQ), which monetizes anonymized inbox-derived data. · ³ Unroll.me geo-blocks the EU/EEA. Competitor details as publicly reported in 2026; see the full, sourced comparison.
- How it works (RFC 8058) — the standard, why it's safer than clicking, and why agents should use it.
- Privacy — no cookies, no tracking, zero data access.
- FAQ — is it safe? is it free? can it read my email? (No.)
- Impact & methodology — the honest, sourced version of the CO₂/trees math.
The site is built with Astro (static output). Page source lives in src/;
everything in static/ is copied to the output verbatim. The build writes the complete,
ready-to-host site into public/ — that's the folder you upload.
npm install # once
npm run dev # dev server with hot reload → http://localhost:4321
npm run build # generate the production site into → public/
npm run preview # serve the built public/ exactly as it goes live → http://localhost:4321Deploy: run npm run build, then upload the contents of public/ (the files inside it) to
the web root, so public/index.html is served at https://dontmailme.org/. public/ already
contains the whole agent layer (gmail.gs, outlook.ps1, *.md, llms.txt, AGENTS.md,
_headers, _redirects, fonts/, …) at the same paths as before — nothing else to upload.
⚠️ Don't openpublic/index.htmlby double-clicking. Like every website, it loads its CSS from a root-absolute path (/_astro/…), which the browser can only resolve when the files are served (over HTTP), not opened as afile://. Runnpm run previewto check the build locally.
| Path | What it is |
|---|---|
src/pages/, src/layouts/, src/components/, src/styles/ |
Astro page source |
src/data/providers.yaml |
The provider directory — drives /providers and /api/providers.json |
static/ |
Copied verbatim into the build: the agent layer, fonts, images |
static/gmail.gs, static/outlook.ps1 |
Canonical raw scripts (served to users and agents) |
static/llms.txt, static/AGENTS.md, static/*.md |
Machine-readable twins for AI agents |
public/ |
Build output — this is what you upload (git-ignored; run npm run build) |
mcp/ |
MCP server (@sein-io/dontmailme-mcp) — stdio + Cloudflare Worker |
docs/STRATEGY.md, docs/GROWTH.md, docs/REDESIGN-PLAN.md, docs/DESIGN-RULES.md |
Blueprint, growth, redesign & design rules |
Most useful right now — these are where help goes furthest:
- 📬 Add a mail provider. The directory is one file,
src/data/providers.yaml. Don't know the code? File an Add a provider issue with what you know. (Most of the 19 listed providers areplanned— an obvious, concrete backlog.) - 🐛 Report or fix a bug in the Gmail / Outlook / Apple Mail scripts or the site — Report a bug, or fix it and open a PR.
Also welcome: translations (a new language ≈ one file), copy, docs. See CONTRIBUTING and the Code of Conduct; for ideas and questions, open a Discussion.
DontMailMe is free. If it saved you time, you can chip in what you want — half plants a tree. Or just star the repo; that helps more people find a private way to clean their inbox.
MIT — a SEIN project · dontmailme.org