AL
Alex Leealex@example.com
To your productsupport@yourdomain.com
Re: Getting started
Hey team, thanks for the welcome. Could you help me get my workspace set up?
Thanks,
Alex
invoice.pdfPDF attachment
Example incoming email
From the first “hello” to the next receipt.
Send, test, and receive email with an API
and SMTP built for your application.
Use the language you know.
Send an HTTP request or connect
your existing SMTP mailer.
One API for the email your product sends. Webhooks for what happens next.
Open the quickstartconst response = await fetch(
process.env.ZAPSMTP_API_URL, {
method: 'POST',
headers: {
'Authorization': 'Bearer zap_your_api_key',
'Content-Type': 'application/json'
},
body: JSON.stringify({
from: 'hello@yourdomain.com',
to: ['delivered@simulator.zapsmtp.com'],
subject: 'You’re all set.',
html: '<p>Your next big thing starts here.</p>'
})
});Inspect the message. Watch the sending IP.
Give a new IP time to earn its reputation.
Tools to understand what reaches the receiving side.
Explore deliverabilityThe example message carries a valid DKIM signature. A real check inspects the signed message, not just the presence of a DNS key.
In this example, the sending IP is authorized by the domain’s SPF policy. Use your provider’s actual DNS values when configuring a domain.
SpamAssassin and rspamd inspect the message content. A low score is useful context, rather than a guarantee of inbox placement.
The product checks the real sending IP and blocklist signals as part of message inspection. This report contains illustrative results.
Blocklist monitoring with automatic sending pauses for flagged IPs.
192.0.2.10 Monitoring192.0.2.11 Monitoring192.0.2.12 PausedReview the listing before continuing to send.
Sending volume increases over 30 days.
Automatic warmup builds volume gradually, with no manual daily adjustments.
Turn incoming email into something your app can use.
Messages, replies, and attachments arrive as events.
Route incoming messages into support workflows, product conversations, or your own backend.
Receive files along with the message, then process them in the application you already run.
A few fewer problems to solve in your application.
Signed webhooks, retries, and event replay keep your app in sync. Inspect every delivery attempt.
Idempotent requests let you retry safely when a connection is interrupted.
Keep templates in one place and your sending code focused on the request.
Schedule a follow-up or notification in advance. Cancel or reschedule before it goes out.
See scheduled sendingAPI and SMTP from the first email.
Choose the monthly volume your product needs.
API & SMTP included in every plan.
Start free, then grow at your own pace.
50,000 emails included per month$0.85 / 1,000 extra
Get started Secure payment by Stripe. Cancel or change plan any time.See the SPF, DKIM, DMARC, and MX records
behind your sending setup.
Yes. Connect an SMTP client with the credentials from your dashboard, or use the Email API directly over HTTP. SMTP supports ports 587, 465, and 2525.
Free includes 3,000 emails per month, with a limit of 100 emails per day, API and SMTP, one domain, one SMTP credential, sandbox, inbound email, and three days of logs. No credit card required.
Free: sending pauses at 3,000 emails in a month and the API returns 429 monthly_quota_exceeded — upgrade to keep sending. Pro and Scale: email keeps flowing. Extra email is billed at your plan’s per-1,000 rate on the next invoice. Set a monthly spending cap in Billing if you want a hard stop.
By card through Stripe. Invoices and receipts are in Billing; you can change plan or cancel at any time.
Yes. The product sandbox supports eight delivery and failure scenarios, including mailbox full, blocked, and suppressed outcomes. The examples on this website are local demonstrations and do not send real email.
Create an account, add and verify your domain, and generate a server-side API key or SMTP credentials. The quickstart walks through the integration.
A verified domain. A few lines of code.
The beginning of a better conversation.