TypeScript · Next.js
Send an email from a Next.js App Router Server Action with @messagebird/sdk. You need a Bird API key: create one in Developers > API keys (Send your first email walks through it), then put it in .env.local as BIRD_API_KEY.
1. Install
Exemple de code
npx create-next-app@latest my-app --yes --ts --eslint --no-tailwind --app --no-src-dir --use-npm --disable-git
cd my-app
npm install @messagebird/sdk2. Send
Create app/actions/send-welcome.ts. The "use server" directive keeps it (and your API key) on the server:
Exemple de code
"use server";
import { BirdClient } from "@messagebird/sdk";
const bird = new BirdClient({ apiKey: process.env.BIRD_API_KEY! });
export async function sendWelcome() {
const msg = await bird.email.send({
from: "onboarding@messagebird.dev",
to: ["delivered@messagebird.dev"],
subject: "Hello from Bird",
html: "<p>My first Bird email.</p>",
});
console.log(msg.id, msg.status); // "em_…", "accepted"
return { id: msg.id, status: msg.status };
}onboarding@messagebird.dev is Bird's shared onboarding sender and delivered@messagebird.dev is a sandbox recipient that always delivers: no domain verification needed. The SDK infers the region from your key's bk_us1_ / bk_eu1_ prefix (no base URL to configure) and auto-generates an Idempotency-Key per call, so retried sends are safe.
3. Try it
Wire the action to a form in app/page.tsx and click the button:
Exemple de code
import { sendWelcome } from "./actions/send-welcome";
export default function Home() {
return (
<form action={sendWelcome}>
<button type="submit">Send email</button>
</form>
);
}Run npm run dev, open http://localhost:3000, and submit. Bird accepts the email with a 202 and delivers it asynchronously; the terminal running the dev server logs the em_ ID and status:
Exemple de code
em_01ky7ma8y2es1s2akzk53tmjn0 acceptedNext steps
- TypeScript email SDK: the full email surface (send, get, list) and the error model.
- Send your first email: creating an API key and the full set of sandbox addresses.
- Sending domains: verify your own domain for production sending.
- Email API reference: the full request and response schema.
Ressources associées
Poursuivez avec la documentation, les guides et les exemples sur ce sujet. Les ressources sont en anglais.
Regarder le guideGetting started with emailComprendre le conceptShould I use a Bird SDK or call the API directly?Explorer la fonctionnalitéEmailSuivre le parcours d'apprentissageBuild your first integration
Essayez la pratique et obtenez un guide d'implémentation