All frameworks

Send Email from Elysia

Send emails from Elysia with end-to-end type safety

1

Install the SDK

bun add 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
import { Elysia, t } from "elysia";
import { SendPigeon } from "sendpigeon";

const client = new SendPigeon(Bun.env.SENDPIGEON_API_KEY!);

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

      return { success: true };
    },
    {
      body: t.Object({
        email: t.String({ format: "email" }),
        name: t.String(),
      }),
    }
  )
  .listen(3000);

Why use SendPigeon with Elysia?

  • End-to-end type safety
  • Built-in validation
  • Runs on Bun
  • 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 Elysia?

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

Get Started Free

Other JavaScript frameworks