Built-in transactional email with automatic SPF/DKIM/DMARC configuration.
RaidFrame Email is a built-in transactional email service. Send emails from your app without a third-party provider. SPF, DKIM, and DMARC are configured automatically for your domain.
rf add email
✓ Email service provisioned
✓ EMAIL_API_KEY injected into environment
Sender domain: mail.raidframe.app (default)
Use your own domain for sending:
rf email domain add myapp.com
Add these DNS records:
TXT myapp.com v=spf1 include:spf.raidframe.com ~all
TXT rf1._domainkey k=rsa; p=MIGfMA0GCSqGSIb3DQEB...
TXT _dmarc.myapp.com v=DMARC1; p=quarantine; rua=mailto:[email protected]
Verify: rf email domain verify myapp.com
rf email domain verify myapp.com
✓ SPF: configured
✓ DKIM: configured
✓ DMARC: configured
✓ Domain verified: you can now send from @myapp.com
import { Email } from "@raidframe/sdk";
const email = new Email();
await email.send({
from: "[email protected]",
to: "[email protected]",
subject: "Welcome to MyApp",
html: "<h1>Welcome!</h1><p>Thanks for signing up.</p>",
});
await email.send({
from: "[email protected]",
to: "[email protected]",
template: "welcome",
data: {
name: "Alice",
login_url: "https://myapp.com/login",
},
});
from raidframe import Email
email = Email()
email.send(
from_addr="[email protected]",
to="[email protected]",
subject="Welcome",
html="<h1>Welcome!</h1>",
)
curl -X POST https://api.raidframe.com/v1/email/send \
-H "Authorization: Bearer $RAIDFRAME_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"from": "[email protected]",
"to": "[email protected]",
"subject": "Welcome",
"html": "<h1>Welcome!</h1>"
}'
Create reusable templates:
rf email templates create welcome --file ./templates/welcome.html
Templates use Handlebars syntax:
<h1>Welcome, {{name}}!</h1>
<p>Click below to get started:</p>
<a href="{{login_url}}">Log in to MyApp</a>
# List templates
rf email templates list
# Preview a template
rf email templates preview welcome --data '{"name": "Alice"}'
# Delete a template
rf email templates delete welcome
Track delivery events:
email:
webhooks:
url: https://myapp.com/api/email-events
events: [delivered, bounced, complained, opened, clicked]
Webhook payload:
{
"event": "delivered",
"message_id": "msg_abc123",
"to": "[email protected]",
"subject": "Welcome",
"timestamp": "2026-03-16T14:23:00Z"
}
rf email stats --period 30d
EMAIL STATS (30 days)
─────────────────────
Sent: 4,230
Delivered: 4,198 (99.2%)
Bounced: 32 (0.8%)
Opened: 2,840 (67.6%)
Clicked: 1,120 (26.5%)
Complained: 2 (0.05%)
| Plan | Emails/mo | Price |
|---|---|---|
| Starter | 500 | Free |
| Standard | 10,000 | $5/mo |
| Pro | 100,000 | $20/mo |
| Enterprise | Unlimited | Custom |