The Rasket blog
Guides on sending email from your stack, deliverability, DKIM, SPF and DMARC, webhooks, inbound email and campaigns, written by the engineers who build Rasket.

Order confirmation email and abandoned cart flows
What an order confirmation email must contain, how to send it exactly once, and how to run abandoned cart emails that only reach subscribers who did not buy.

Build an AI email assistant with MCP, safely
How to build an AI email assistant that reads inbound mail as untrusted data, writes drafts a person approves, and resists email prompt injection.

Email marketing software for developers
A buyer's guide to email marketing software for developers: four architectures, the trial tests that separate them, and where Rasket falls short.

Free business email on your own domain
Four free ways to get business email on your own domain, how to check each in minutes, and how to move your MX records without losing any mail.

SendGrid pricing in 2026: plans and real bills
SendGrid pricing from Twilio's pages: Email API and Marketing Campaigns tiers, overage per 1,000, dedicated IPs, and worked bills next to Rasket's.

Free email templates: wording for 8 everyday emails
How to pick and adapt a free email template for welcome, launch, newsletter, order, shipping, cart, gift card and reset emails, with wording for any tool.

Email blast platform: how to send a blast safely
What an email blast platform does, what Gmail, Yahoo and Outlook require, dashboard steps for a safe first blast, the cost, and what to do if complaints spike.

Email marketing platforms for small business
Six email marketing platforms for small business priced at 500, 1,000 and 5,000 contacts from vendors' own pages, plus Shopify's tool and where Rasket loses.

SMTP relay: what it is and how to set one up
What an SMTP relay is, when you need one, and how to set one up: ports 465 and 587, the login, limits, reply codes, and settings for WordPress and Laravel.

Custom return path: why your bounces need it
What the return path is, how it differs from the From header, why a return path on your own subdomain makes SPF count toward DMARC, and the records it needs.

Double opt in email: how it works and why
How a double opt in email works and why it pays: the confirmation email, a link scanners can't trip, what to send after the click, and the law.

Newsletter API: send campaigns from your code
Send a newsletter from code or an AI agent: contact, segment, draft, test, human approval, then send. Runnable Node scripts and the MCP flow, with real output.

Schedule email API: send at a time you choose
Schedule an email with one scheduled_at field, move it with PATCH or cancel it, and see the real responses, the 30-day window and the daylight-saving traps.

Email API rate limits: headers and backoff
Email API rate limits, measured: the ratelimit headers Rasket sends, what a 429 looks like, and Node and Python backoff that retries without sending twice.

Email template variables in an order confirmation
Email template variables worked through one order confirmation: declare them, refuse bad values, render line items and give an agent a send-only MCP tool.

Email suppression list: what it is, how to use it
What goes on an email suppression list, which entries block receipts and password resets, what a suppressed send returns, and how to manage it by API.

DKIM, SPF and DMARC explained: what to publish
What SPF, DKIM and DMARC each check, how to read the verdicts on a sent message, the records to publish, and what Gmail and Outlook.com require of senders.

Best transactional email API: seven compared
Seven transactional email APIs compared from their own pages: features, monthly cost at 5,000 to 1 million emails, uptime, rate limits and where each wins.

Email API vs SMTP: which should you use?
Use an email API when you can change the sending code, and SMTP when you can't. A decision table, one email sent both ways, and which ports get blocked.

Email webhooks explained: events and signatures
Email webhooks explained: the delivery events, the payload, HMAC signature verification, retries, and complete tested receivers in Node and Python.

Hard bounce vs soft bounce: what to do with each
A hard bounce is permanent, a soft bounce temporary. How to tell them apart by the enhanced status code, what Rasket suppresses for you, and what is up to you.

Receive email with a webhook: inbound parsing
Receive email at your domain as a signed webhook: where the MX goes, the email.received payload, a receiver that cannot open two tickets, and safe replies.

Email deliverability guide: inbox, not spam
Delivered is not inboxed: the records, list habits and sending pace that reach the inbox, a checklist for non-developers, and what to do when mail hits spam.

Let an AI agent send email with MCP
Connect an agent to an MCP email server: the OAuth sign-in for your own loop, the send_email call, prompt injection, and a person approving every send.

Idempotent email sends: retry without sending twice
How to make email sends idempotent and stop duplicate emails: choosing an Idempotency-Key, a tested retry loop, keys for agents, and what each repeat returns.

Email domain verification, step by step
Which DNS records verify a sending domain, where each one goes, how long it normally takes, and what each status on the domain page tells you to do next.

Transactional vs marketing email: how to send each
How to tell transactional email from marketing email, the US and UK rules for mixed messages, separate sending subdomains, and how to send each kind.
Every post is also plain Markdown — add .md to its URL — and the whole blog is an RSS feed.
Ready to send something?
Sign up, verify a domain and send your first email in minutes.