📧

Letting Claude Actually Send

Private research. Enter the hub password to continue.

That's not right. Try again.

📧 Private Research Report

Letting Claude or Codex Actually Send Email

Researched for you · June 27, 2026 · Reddit · X · YouTube · Web · GitHub, all verified

Your Gmail connector can write the email but can't hit send. That's by design, not a bug. Here's exactly why, and the cleanest ways to give Claude (and Codex) a real send button, ranked for your setup.

True-send paths: 6
Draft-only traps: 2
Window: Last 6 months
Top pick: Composio
← Back to Hub
🔑

Why it can draft but not send (the real cause)

Start here

This is an OAuth scope thing, and it's deliberate. Gmail has separate permission levels:

gmail.compose lets a tool create and save drafts. It physically cannot send. Most "Claude + Gmail" connectors ask for only this scope on purpose, so an AI can never fire off an email you didn't approve.
gmail.send is the scope that actually transmits.
gmail.modify is a broad read-write-send scope (everything except permanent delete).

Anthropic made this a company-wide policy, not a limitation of your install. Across every surface they ship, Claude drafts but never sends: the Gmail connector creates drafts only, the Claude for Outlook add-in writes replies but can't send, and the Microsoft 365 connector is read-only. A May 2026 writeup and an open GitHub issue both confirm the official connector has no send capability.

So the fix is never "prompt it harder." You have to point Claude at a different tool that holds the gmail.send (or gmail.modify) scope. That's the whole game. Three families of solution do it, below.

The true-send solutions, ranked for you

What actually works

1 Composio Gmail MCP Top pick From your Gmail

Sends from your real Gmail address, and it solves the OAuth headache for you.

What it is: A hosted connector layer. You connect Gmail once through Composio's OAuth (they handle the Google Cloud setup that's normally the painful part), drop a Composio API key into Claude, and Claude gets the full Gmail action set including GMAIL_SEND_EMAIL under the proper send scope. Works in Claude Code, Claude Desktop/Cowork, and Codex.

Setup: roughly one command, claude mcp add --transport http gmail-composio with your MCP URL + API key, then a browser login to connect Gmail. Free to start.

Trade-off: a third party (Composio) holds a token to your Gmail. Fine for most people, worth knowing.

Sources: Composio Gmail + Claude Code docs · Gmail + Codex docs · Income Stream Surfers, "Composio + Claude Code is INSANE (FREE)"

2 Self-hosted Google Workspace MCP From your Gmail

Most private. The token never leaves your machine. Best for overnight / scheduled sends.

What it is: You (well, I) run a small Gmail/Workspace MCP server locally where you control the OAuth scopes, so you grant gmail.send yourself. No third party ever holds a token. A demoed version runs a scheduled agent that triages leads and emails them back automatically.

Setup: ~30 to 45 min of Google Cloud Console work (create project, enable Gmail API, make an OAuth client, save the keys locally). This is exactly the kind of fiddly setup I'd just do for you.

Trade-off: the Console setup is tedious, but it's a one-time thing and it's the safest option.

Sources: Shane Brady, "Connect Claude to Google MCP Server" · Peter Yang, "Connect Claude Code to Google, Slack & Reddit" · taylorwilsdon/google_workspace_mcp

3 Resend MCP From your domain

Official, agent-native, cleanest for newsletters and notifications.

What it is: Resend's official MCP server (announced April 2026) exposes a send-email tool with HTML, attachments, CC/BCC, reply-to, scheduling, and batch. Built specifically for AI agents to send. Wire it into Claude Code / Codex with an API key.

Setup: easy, but you verify a sending domain first. It would send as [email protected], not from your Gmail address.

Trade-off: great for outbound notifications and scheduled mail, not for replying as your personal Gmail.

Sources: Resend MCP · resend/resend-mcp on GitHub

4 Mailtrap MCP From your domain

Simplest dedicated send-MCP, confirmed sending on camera.

What it is: A drop-in send-email MCP. Add your Mailtrap token + a verified sender, and Claude sends through Mailtrap's infrastructure. The demo shows the email actually landing in the inbox.

Trade-off: like Resend, sends from a verified domain, not your Gmail.

Source: Mailtrap, "Send emails with Claude"

5 GongRzhe Gmail MCP From your Gmail

Popular open-source server with a real send_email tool, but now abandoned.

What it is: The most-starred standalone Gmail MCP (1,150+ stars). Has a genuine send_email tool, installs via npx @gongrzhe/server-gmail-autoauth-mcp, one-time browser auth.

Two real warnings: it was archived (read-only) in March 2026, so it'll never get a security patch again. And it requests the broad gmail.modify scope (read + send + trash on your whole mailbox) rather than send-only, and stores the token unencrypted on disk. I'd only reach for this if the maintained options above didn't fit.

Source: GongRzhe/Gmail-MCP-Server

6 n8n (or Make) automation bridge

For always-on, triggered sending rather than chat-driven sending.

What it is: n8n receives an inbound email, hands it to a Claude node to write a reply, then n8n's native Gmail node sends it automatically (full OAuth, no draft-only limit). Good for "auto-respond to X type of email" loops.

Trade-off: n8n is a separate platform to run. Overkill if you just want Claude to send when you ask it to.

Sources: Brendan Jowett, "Instantly Respond To Emails (n8n, 2026)" · Codemarchant, "AI Agents + n8n via MCP"

📊

At a glance

Side by side
SolutionTrue send?Sends fromSetupMaintainedBest for
Composio Gmail MCPYesYour GmailEasyYesFastest win, your address
Self-hosted Workspace MCPYesYour Gmail~45 minYesMost private, scheduled
Resend MCPYesYour domainEasyYesNewsletters, alerts
Mailtrap MCPYesYour domainEasyYesSimple outbound
GongRzhe Gmail MCPYesYour GmailModerateArchivedLast resort
n8n / Make bridgeYesYour GmailModerateYesAuto-reply loops
Official Anthropic connectorNo- - - Draft only by design
Zapier MCP (Gmail)No- - - Draft only in demos
⚠️

Two dead ends, don't fight these

Draft-only by design

The official Anthropic Gmail / Google Workspace connector. Reads and drafts only. No prompt unlocks send, it's policy. (Claude help docs) This is almost certainly what you're using now.

Zapier MCP's Gmail action. In every tutorial the Gmail tool is "Create Draft," and asking Claude to send just makes another draft. Don't burn time here.

🎯

My recommendation

What I'd set up

For sending from your real Gmail with the least hassle: Composio. It's the direct fix for the exact scope problem you hit, works in Claude Code and Codex, and I can wire it up.

If you'd rather nothing third-party ever touches your Gmail token, I'll stand up the self-hosted Workspace MCP instead, scoped to gmail.send. More setup on my end, zero outside dependency, and it's the right base for overnight auto-send later (which fits the April/VPS plan).

And independent of which, for any outbound newsletters or system notifications from annettethompson.com, Resend is the clean separate channel so those never touch your personal inbox.

Say the word and I'll set up whichever you pick. Note the safety rail still holds: even with send enabled, I'll show you the email and wait for your yes before anything goes to a real human, unless you tell me a specific lane to send on its own.

🌐

Sending from all your domains (20+ brands)

The multi-brand plan

With many domains you don't make many connections, you make one. A single domain-sending service owns every domain, and Claude just sets the right "From" address per project ([email protected], [email protected], and so on). Because your DNS already lives on Cloudflare, the per-domain verification (SPF, DKIM, DMARC) is scripted in one pass, you touch nothing.

Inbound too, free: Cloudflare Email Routing forwards hello@[anydomain] into your Gmail, so every brand gets working two-way email at ~$0.

OptionCost for 20 domainsDomains allowedNotes
Amazon SES ⭐~$0–2/moUnlimited$0.10 per 1,000 emails, no per-domain fee
Resend Scale$90/mo1,000Cleanest, but flat $90
Resend Pro$20/mo10 onlyCan't cover all 20

Recommendation: Amazon SES + Cloudflare Email Routing. Covers every domain for roughly a coffee per year at your volume, lives in the Cloudflare/AWS infrastructure you already use, and I do the heavy setup.

A The 8 domains sending first

annettethompson.com · seobeliever.com · nottoooldforai.com · smartstrongalive.com · vitalency.com · ajijic.org · bonevoyagedogrescue.com · trainerbooked.com

~12 more early-stage domains queue for a later batch. ~22 of your domains are already on Cloudflare DNS.

B The build, in phases

Phase 1, foundations: open an AWS account (free), request SES production access, stand up the SES MCP wired to Claude (and later April on the VPS).

Phase 2, domains: auto-add SPF/DKIM/DMARC across the batch via the Cloudflare API, verify in SES, switch on free Cloudflare Email Routing for inbound.

Phase 3, guardrails: a project→domain→from-address map so a brand can never send on the wrong domain. Human-confirm rail stays: I show you the email and wait for your yes before anything reaches a real person, unless you designate a lane to auto-send.

Phase 4, deliverability: DMARC monitoring + gentle warmup so mail lands in inboxes, not spam.

Status as of June 27, 2026: domain map complete, awaiting AWS account approval to begin Phase 1.

Researched across Reddit, X, YouTube, GitHub, and vendor docs · June 27, 2026 · Capabilities and scopes verified against source READMEs and official docs.