Send email from any stack
One key, one POST, and a message that is durably recorded before the response comes back. Pick the stack you write in: each page has a complete working sample, the six steps to a delivered message, and the one thing that stack gets wrong about webhook signatures.
Node.js
Send email from Node.js in one typed call: install the rasket package, post a message, take the id back and follow every delivery event.
Send email from Node.jsNext.js
Send email from Next.js in a route handler or a server action: one typed call, the key read on the server, an id back for every message.
Send email from Next.jsPython
Send email from Python with a typed client: pip install rasket, post one message, read the id back and follow delivery on a webhook.
Send email from PythonDjango
Send email from Django without an SMTP backend: one typed call in a view or a task, an id back, and delivery reported on a webhook.
Send email from DjangoFastAPI
Send email from FastAPI with a typed client: build it once at startup, call it from a route, and get an id back for every message you send.
Send email from FastAPIRuby on Rails
Send email from Ruby on Rails over HTTPS instead of SMTP: one Net::HTTP call from a service object, an id back, delivery on a webhook.
Send email from Ruby on RailsLaravel
Send email from Laravel with the Http facade instead of an SMTP mailer: one POST, an id back, and every delivery event on a webhook.
Send email from LaravelGo
Send email from Go with net/http and encoding/json: one POST to the API, an id back, and delivery events on a signed webhook.
Send email from GoBun
Send email from Bun with the fetch it already ships: one POST, four headers, an id back, and delivery reported on a signed webhook.
Send email from BunDeno
Send email from Deno with built-in fetch and Deno.env: one POST, no dependency, an id back and every delivery event on a webhook.
Send email from DenoCloudflare Workers
Send email from Cloudflare Workers with one fetch: the key comes off env, not process.env, and every message returns an id you can follow.
Send email from Cloudflare WorkersSupabase Edge Functions
Send email from Supabase Edge Functions with one fetch: set the key as a secret, read it with Deno.env, and take an id back per message.
Send email from Supabase Edge Functions
The same API behind every one of them
There is no SMTP relay and there are no per-language gateways: every sample on these pages posts to the same endpoint with the same four headers, and the two typed clients have their request and response types generated from the document the API is validated against. What differs between the twelve is where the key lives and how that runtime hands you the raw bytes of a webhook — which is exactly what each page spells out.
The field list and the limits are on the emails reference, and the five steps to a first delivered message are in the quickstart.
Start sending this morning
Create a key, verify a domain, and post one message from whatever you already write in.