How we sent our first newsletter with Ghost, Mailgun and Claude

Ghost handles the publishing. Mailgun handles the delivery. Claude writes the content. Here's how we connected all three and sent our first newsletter — the infrastructure behind a weekly digest that runs itself.

How we sent our first newsletter with Ghost, Mailgun and Claude
Photo by Jon Tyson / Unsplash

The goal is a weekly newsletter that summarises the build. What went live, what we learned, what is coming next. Claude reads the week's posts and drafts the digest. But before any of that can be automated, you need the plumbing in place: a sending domain, a delivery service, and a platform that ties it together. This is that setup.


Step 1 — Create a Mailgun account

Go to mailgun.com and sign up. The Flex plan gives you 1,000 free emails per month to start — enough to get going without paying anything.

Once your account is created, verify your email address. If you hit the "too many activation codes" error, wait an hour and try again — it's a rate limit, not a permanent block.


Step 2 — Add and verify your sending domain

Mailgun needs a sending domain to prove your emails are legitimate. A subdomain works well — something like mg.inagentic.ai.

In Mailgun, go to Sending → Domains → Add New Domain and enter your subdomain.

Mailgun then gives you a set of DNS records to add — typically two TXT records and a CNAME. This is where AWS comes in.

Adding the records in AWS Route 53:

  1. Go to Route 53 in your AWS console
  2. Click Hosted zones and select your domain
  3. Click Create record for each record Mailgun provides
  4. Set the record type (TXT or CNAME), paste in the name and value exactly as shown in Mailgun
  5. Save each record

DNS changes typically propagate within 5–30 minutes. Once done, go back to Mailgun → your domain → click Verify DNS records. All records should show green. Your domain status changes to Active.


Step 3 — Get your Mailgun API key

In Mailgun, go to Account → API Keys and copy your Private API key. It starts with key-. Keep it somewhere safe — you'll paste it into Ghost once.


Step 4 — Connect Ghost to Mailgun

In Ghost Admin:

  1. Go to Settings → Email newsletter
  2. Set your Mailgun region (US or EU — match where you signed up)
  3. Enter your Mailgun domain — the subdomain you just verified
  4. Paste in your Mailgun private API key
  5. Save

Then click Send test email. If it arrives in your inbox, you're connected. If it lands in spam, double-check your DNS records are all verified in Mailgun.


Step 5 — Write your first newsletter with Claude

With the technical setup done, the next question is what to actually send.

This is where Claude comes in. Rather than starting from a blank page, we used Claude to read seven days of build posts and turn them into a structured newsletter — pulling out the key ideas, distilling the principles, and formatting it for email.

The process:

  1. Share the links to your recent posts with Claude
  2. Ask it to summarise each one in a few sentences, keeping the voice consistent
  3. Add any structure you want — day-by-day breakdown, callout quotes, a principles section
  4. Review and edit — Claude produces the first draft, you make it yours
  5. Paste the final content into a Ghost post as a markdown card

The newsletter went from seven long technical posts to a clean, readable digest in a single session. No blank page, no formatting wrestle — just editing.


The full stack

Step Tool
Publishing platform Ghost
Email delivery Mailgun
DNS management AWS Route 53
Newsletter writing Claude

Four tools, one afternoon, first newsletter sent.


What's next

The setup described here is manual — and intentionally so. Before automating anything, it needs to work reliably end to end. A newsletter that sends, lands in inboxes, and reads well is the foundation.

Once that's proven, the next step is automating the whole thing. Claude already drafts the content. The missing pieces are triggering that draft automatically, formatting it for Ghost, and scheduling the send — all without opening a browser. That's coming in a future chapter of the build.

First, get it working. Then, get it running while you sleep.

✓  TL;DR
What we learned sending the first newsletter
Ghost needs Mailgun for email delivery. Publishing and newsletter sending are separate concerns — Mailgun's Flex plan gives 1,000 free emails a month, enough to get started at zero cost.
Domain verification is the fiddly part. A subdomain like mg.inagentic.ai needs TXT and CNAME records added in AWS Route 53 before Mailgun will mark it active — DNS propagation takes 5–30 minutes, so this step just needs patience, not troubleshooting.
Landing in spam usually means DNS, not content. If a test email doesn't land in the inbox, the first thing to check is whether every DNS record is fully verified in Mailgun.
Claude turns a week of posts into one digest, not a blank page. Feeding it seven days of build posts to summarise, structure, and format meant editing a first draft rather than starting from nothing — a week of long technical writing became one clean newsletter in a single session.
Manual first, automated second — deliberately. The full flow (Ghost, Mailgun, Route 53, Claude) was proven by hand before considering automation. A newsletter that reliably sends and reads well is the foundation; only once that works does it make sense to remove the human steps.
Coming in future chapters
Automating the whole newsletter flow — triggering Claude's draft automatically, formatting it for Ghost, and scheduling the send, all without opening a browser.

Jon Axel · inagentic.ai