Skip to main content
Docs/Getting Started

Getting Started

5 min setup

Go from zero to sending emails in 6 steps. Account creation, domain verification, API keys, sending, webhooks, and monitoring.

1

Create your account

Sign up for a free SendMesh account. No credit card required.

Head to sendmesh.co/auth/signup and create your account. You get 1,000 free emails per month to start.

Free tier includes all core features
No credit card required
Dashboard access immediately after signup
2

Verify your domain

Add DNS records for DKIM, SPF, and DMARC to authenticate your sending domain.

Add your sending domain in the dashboard, then configure these DNS records with your DNS provider.

dns
# DKIM Record (TXT)
Host: sendmesh._domainkey.yourdomain.com
Value: v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3...

# SPF Record (TXT)
Host: yourdomain.com
Value: v=spf1 include:amazonses.com ~all

# DMARC Record (TXT)
Host: _dmarc.yourdomain.com
Value: v=DMARC1; p=quarantine; rua=mailto:dmarc@yourdomain.com

# Return-Path (CNAME)
Host: bounce.yourdomain.com
Value: feedback-smtp.us-east-1.amazonses.com

DNS propagation typically takes 5-60 minutes. Use the dashboard to verify records are detected.

3

Generate an API key

Create a secret key to authenticate API requests.

Go to Dashboard → API Keys and click Create Key. You'll get a key pair:

text
# Public key (safe to expose in frontend)
pk_live_abc123...

# Secret key (keep private, use on server only)
sk_live_xyz789...

Important: Your secret key is shown only once. Store it securely. Never commit it to version control or expose it in client-side code.

4

Send your first email

Make your first API call to send an email.

Use the POST /v1/emails/send endpoint:

curl
curl -X POST https://api.sendmesh.co/v1/emails/send \
  -H "Authorization: Bearer sk_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "from": { "email": "hello@yourdomain.com", "name": "Your App" },
    "to": [{ "email": "user@example.com", "name": "Jane Doe" }],
    "subject": "Hello from SendMesh!",
    "html": "<h1>Welcome!</h1><p>Your first email via SendMesh.</p>"
  }'
node.js
import { SendMesh } from '@sendmesh/node';

const client = new SendMesh('sk_live_your_key_here');

const response = await client.emails.send({
  from: { email: 'hello@yourdomain.com', name: 'Your App' },
  to: [{ email: 'user@example.com', name: 'Jane Doe' }],
  subject: 'Hello from SendMesh!',
  html: '<h1>Welcome!</h1><p>Your first email via SendMesh.</p>',
});

console.log('Email ID:', response.data.id);
python
from sendmesh import SendMesh

client = SendMesh("sk_live_your_key_here")

response = client.emails.send(
    from_email={"email": "hello@yourdomain.com", "name": "Your App"},
    to=[{"email": "user@example.com", "name": "Jane Doe"}],
    subject="Hello from SendMesh!",
    html="<h1>Welcome!</h1><p>Your first email via SendMesh.</p>",
)

print("Email ID:", response.data["id"])
5

Set up webhooks

Receive real-time notifications for delivery, bounce, and complaint events.

Register a webhook endpoint to receive event notifications:

curl
curl -X POST https://api.sendmesh.co/v1/webhooks \
  -H "Authorization: Bearer sk_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://yourapp.com/webhooks/sendmesh",
    "events": ["email.delivered", "email.bounced", "email.complained", "email.opened", "email.clicked"]
  }'

Webhook payload example:

json
{
  "event": "email.delivered",
  "timestamp": "2026-04-14T10:30:00Z",
  "data": {
    "emailId": "em_abc123",
    "to": "user@example.com",
    "subject": "Hello from SendMesh!",
    "messageId": "<abc123@us-east-1.amazonses.com>"
  },
  "signature": "sha256=a1b2c3d4..."
}

All webhook payloads include an HMAC-SHA256 signature for verification.

6

Monitor deliverability

Track delivery rates, bounces, complaints, and engagement in your dashboard.

Your dashboard shows real-time delivery metrics. You can also query analytics via API:

curl
curl https://api.sendmesh.co/v1/analytics/overview \
  -H "Authorization: Bearer sk_live_your_key_here"
99.4%
Delivery rate
70.3%
Open rate
<0.5%
Bounce rate