Free Astro tutorials for complete beginners.

Beginner's Guide to Astro

How to Start an Email Newsletter for Your Astro Site

Search traffic comes and goes. An email list is yours. Here's how to add a sign-up form to a static Astro site using a free newsletter service, in about 15 minutes.

Tested on Astro 7.4

Cover image for How to Start an Email Newsletter for Your Astro Site
In this guide
  1. Step 1: Pick a service
  2. Step 2: Get your form
  3. Step 3: Make a component
  4. Step 4: Put it where people finish reading
  5. Step 5: Build and test
  6. What to send
  7. Where to go next
  8. Frequently asked questions

Google can send you a thousand visitors on Tuesday and nobody on Wednesday. People on your email list come back when you ask them to. A static Astro site can’t send email, but it can show a form that hands the address to a service that can. Here’s the setup.

Step 1: Pick a service

Service Free plan Good for
Buttondown First 100 subscribers free Plain, simple, writes like email should
Kit Free up to 10,000 subscribers Automations, landing pages, selling things
MailerLite Free to 500 subscribers A friendly editor and templates

Prices checked on November 8, 2026. They change. Check before you choose.

We’ll use Buttondown for the steps below. The others work the same way: they give you a form, you paste it.

Step 2: Get your form

Sign up at Buttondown, pick a username, and open Settings, then Embedding. Buttondown shows an HTML form. It’s a <form> with an action pointing at Buttondown and an email field. Copy it.

Step 3: Make a component

Create src/components/Newsletter.astro and paste the form in. Cleaned up, it looks about like this:

<aside class="newsletter">
  <h2>Get new guides by email</h2>
  <p>One email when something new is published. No spam, unsubscribe any time.</p>
  <form action="https://buttondown.com/api/emails/embed-subscribe/YOUR-USERNAME" method="post" target="_blank">
    <label>Email <input type="email" name="email" required /></label>
    <button type="submit">Subscribe</button>
  </form>
</aside>

Use the action address Buttondown gave you, not ours. The target="_blank" opens Buttondown’s confirmation in a new tab, so your reader doesn’t lose your page.

Step 4: Put it where people finish reading

The best spot is the end of a post. Someone who read to the bottom likes what you write. Open your post layout and add:

---
import Newsletter from '../components/Newsletter.astro';
---

And below the content:

<Newsletter />

A second copy in the footer or sidebar is fine. A pop-up is not. Nobody has ever liked a pop-up.

Step 5: Build and test

Run npm run build. The form is in your HTML. We did this on Astro 7.4 and the form rendered exactly as written. Then publish, open a post, and subscribe with your own address. You’ll get the confirmation email. Click it, and you’re subscriber number one.

What to send

Keep a promise and keep it small. “A new guide, when there is one” beats “weekly tips” that stop in week three. Write like you’d write to one person. Put a link to the thing. That’s the whole craft.

Where to go next

Frequently asked questions

Which newsletter service should a beginner use?

Buttondown if you want simple and plain. It's free for your first 100 subscribers. Kit if you want automations and landing pages. It's free up to 10,000 subscribers. Both give you a form to paste.

Can Astro send the emails itself?

No, and you wouldn't want it to. Sending email well is hard. Let a service do it and keep your site as a folder of files.

Do I need a privacy policy?

Yes. If you collect email addresses, say what you do with them. A short, honest page is enough. Ours is linked in the footer.

Stuck on a step?

Check the common errors guide, look up a word in the glossary, or ask the friendly people in the official Astro and EmDash Discords. How to ask so people can help.

Keep reading

  1. How to Register a Domain Name and Connect It to Your Astro Site

    Buy a domain for about $11 a year, then point it at Cloudflare or Netlify. We did this for astrobeginner.com, and these are the exact steps.

    Tutorials, 8 minute read, November 8, 2026

  2. How to Add Google Analytics to an Astro Site (and a Simpler Option)

    Paste Google's tag into your Astro layout with one small change, is:inline, and it works on every page. Or use Cloudflare Web Analytics, which needs no cookie banner.

    Tutorials, 6 minute read, November 8, 2026

  3. How to Add a Contact Form to an Astro Site (No Server Needed)

    A static site can't receive form submissions on its own. A free form service can. Here's a working contact form in ten lines, with spam protection built in.

    Tutorials, 7 minute read, November 8, 2026

Try "blog", "deploy" or "EmDash".