All frameworks

Send Email from Astro

Send emails from Astro API routes and server endpoints

1

Install the SDK

npm install sendpigeon
2

Set your API key

SENDPIGEON_API_KEY=your_api_key_here

Get your API key from the dashboard.

3

Send your first email

typescript
// src/pages/api/contact.ts
import type { APIRoute } from "astro";
import { SendPigeon } from "sendpigeon";

const client = new SendPigeon(import.meta.env.SENDPIGEON_API_KEY);

export const POST: APIRoute = async ({ request }) => {
  const { email, name } = await request.json();

  await client.emails.send({
    from: "hello@yourdomain.com",
    to: email,
    subject: `Thanks for reaching out, ${name}!`,
    html: `<h1>We got your message</h1><p>We'll get back to you soon.</p>`,
  });

  return new Response(JSON.stringify({ success: true }), {
    status: 200,
    headers: { "Content-Type": "application/json" },
  });
};

Why use SendPigeon with Astro?

  • Works with Astro SSR mode
  • API routes and server endpoints
  • Deploy anywhere Astro runs
  • 99.9% deliverability with dedicated IPs
  • Real-time analytics and webhook events
🧪

Testing locally? Use our local email server to catch emails without sending real ones.

🎨

Prefer visual editing? Build email templates with our free drag-and-drop builder. Learn more →

Ready to send emails from Astro?

Start free with 3,000 emails/month. No credit card required.

Get Started Free

Other JavaScript frameworks