Skip to content
Universal Command Line & Shell Integration1-Line Terminal Dispatch

Send transactional email directly from cURL, bash & CI/CD pipelines

Trigger alert emails from shell scripts, GitHub Actions, cron jobs, and Docker containers in one line of code. No SDK dependencies required.

3,000 emails/month freeZero credit card requiredSub-20ms edge latency
Zero
Dependencies
Built-in cURL utility
202 Accepted
Edge Latency
Queued durably before any provider call
6,000 / mo
Free Monthly Sends
Permanent developer tier
Developer Ergonomics

Drop into your application in under 60 seconds

Native typed interfaces with zero unnecessary dependencies. Built for standard fetch and modern edge runtimes.

$curl --version
send-alert.sh
bash
BASH
curl -X POST "https://api.sadasend.com/emails" \
  -H "Authorization: Bearer $SADASEND_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "from": "deployments@yourdomain.com",
    "to": "devops@yourdomain.com",
    "subject": "CI Build Passed: Commit #3a8f1b",
    "html": "<h3>Pipeline Succeeded</h3><p>Production deployment verified in 42s.</p>",
    "tags": ["ci", "github-actions"]
  }'

Clean POSIX-compliant cURL request. Works on macOS, Ubuntu, Alpine Linux containers, and Windows WSL.

Core Infrastructure

Engineered for high deliverability and zero incident risk

Every layer from edge connection pooling to per-key rate limits is designed to keep critical transactional dispatches fast, reliable, and contained.

Zero Package Dependencies

Send emails directly from any terminal or minimal container using curl without installing Node, Python, or Ruby.

Native CI/CD Pipeline Support

Drop directly into GitHub Actions, GitLab CI, CircleCI, or Jenkins step commands for instant build alerts.

Docker & Kubernetes Health Alerts

Trigger notification dispatches inside container entrypoints or kubernetes cronjobs upon failure detection.

Predictable HTTP Status Codes

Standard HTTP 200/202 for success and structured JSON error bodies make shell script exit-code inspection trivial.

Per-Key Staging Recipient Allowlists

Lock test script API keys to company email domains so automated test runs never spam real customers.

Instant Cryptographic Validation

Pre-flight DKIM, SPF, and DMARC verification ensures terminal dispatches achieve primary inbox placement.

Architectural Comparison

SadaSend vs mailx / Sendmail Command Line

Why DevOps engineers replace legacy Linux mail commands with SadaSend cURL.

Feature & CapabilitySadaSendmailx / Sendmail Command Line
Works in Minimal Docker ContainersFails (Sendmail binary missing)
Custom Domain DKIM AlignmentSent via root@localhost alias
Primary Inbox Delivery Rate99.8%Spam or discarded outright
Structured JSON Response & Error CodesOpaque exit codes
Staging Recipient Allowlists
Free Tier with Custom Domain6,000 sends foreverLocal mail only
Forever Free Tier
Transparent Economics

Start with 3,000 emails every month at zero cost

No artificial paywalls on security. Unlike legacy providers that reserve recipient allowlists or dedicated IP pools for high enterprise tiers, every SadaSend account receives full safety controls from day one.

3,000 dispatches monthly forever with zero credit card
All safety gates, allowlists, and velocity limits included
Scale seamlessly: Starter ($12/mo for 10k), Pro ($19/mo for 50k), Scale ($79/mo for 250k)
Free Developer Plan
$0 / mo

No credit card required

Create Free AccountCompare all paid plan tiers
Frequently Asked Questions

Everything you need to know about curl email API

Clear, transparent answers on deliverability, API authentication, and rate limits.

Make an HTTP POST request to https://api.sadasend.com/emails with your API key in the Authorization header (-H "Authorization: Bearer $SADASEND_API_KEY") and a JSON body containing from, to, subject, and html.
Technical Deep Dives

Related developer guides and architectural tutorials

Explore step-by-step production implementation blueprints, benchmarks, and protocols.

Documentation

REST API Reference & Endpoints

Complete REST API reference for sending emails, managing API keys, tracking delivery events, and configuring recipient allowlists with low latency.

Read guide
Documentation

Official Client SDKs (TypeScript & Python)

Official zero-dependency client SDKs for SadaSend. TypeScript and Python packages are live on npm and PyPI with typed results and auto-idempotency.

Read guide
Documentation

API Error Codes & Troubleshooting

HTTP status codes, machine-readable error reasons, and step-by-step remediation guides for API key rate limits, circuit breakers, and bounce handling.

Read guide
Deep Dive3 min read

Nodemailer vs Native Fetch in 2026: Why Modern Runtimes Abandoned Legacy SMTP

Nodemailer served the Node.js ecosystem for 15 years. Here is why modern serverless and edge runtimes have replaced raw SMTP libraries with native fetch.

Read tutorial
Deep Dive3 min read

Why your transactional email goes to spam

People assume transactional mail is exempt from filtering because it was requested. Mailbox providers do not know that, and mostly do not care.

Read tutorial
Deep Dive4 min read

SPF, DKIM and DMARC: what each one actually does

Three records, endlessly confused with each other. Here is the mental model that makes them stop being confusing, and the two mistakes that cause most failures.

Read tutorial
Deep Dive3 min read

How to Send Transactional Email with Bun and TypeScript (Zero Dependencies)

Stop wrestling with bloated Node.js polyfills. Learn how to send transactional emails in Bun with sub-millisecond cold starts and full TypeScript type safety.

Read tutorial
Deep Dive3 min read

Gmail, Yahoo and Microsoft now reject non-compliant mail. The 2026 checklist

The consequence changed. Non-compliant mail used to land in spam, where you might eventually notice. It is now refused at the door.

Read tutorial