The lighthouse
Deliverability and stats
Delivery, bounce, complaint, open and click rates by day, split by mailbox provider and by email category. Filter by domain and date range, and the URL keeps your view.
Event types in the docsSendPelican is a transactional email API and SMTP relay for your app's receipts, password resets and alerts. Verify your domain, send with one call, and see what happened to every message after it left the dock.
1,000 emails a month on the free plan. No card needed.
Add the domain you send from and publish the SPF, DKIM and DMARC records we show you. SendPelican ticks off each record as it appears and rechecks every domain daily.
Send with one POST /v1/emails call and an API key, or point any SMTP client at our relay on port 465 or 587. Every recipient gets its own message, status and log entry.
Deliveries, opens, clicks, bounces and complaints land in your email logs and stats as they happen, and your own webhook endpoint hears about each one.
Sending is the easy part. These are the parts that keep your mail out of spam folders and tell you what happened to it.
The lighthouse
Delivery, bounce, complaint, open and click rates by day, split by mailbox provider and by email category. Filter by domain and date range, and the URL keeps your view.
Event types in the docs
The harbour master
Hard bounces, complaints and unsubscribes join your suppression list on their own, and suppressed addresses never use quota. An account passing 5% bounces or 0.1% complaints over a week is paused before it harms everyone's reputation.
Quotas and limits in the docs
The captain's log
Every message keeps its events, headers and rendered body for as long as your plan holds logs. Webhook endpoints get each event as a POST, retried 7 times over about 21 hours if your server is down.
Webhooks in the docs
The tide charts
A new domain starts at 200 emails a day and rises through 8 stages to 50,000 while bounces and complaints stay low. Mailbox providers trust a sender that grows with the tide.
Domain warm-up in the docs
Safe moorings
Webhooks carry an HMAC-SHA256 signature you can check in a few lines. An Idempotency-Key makes a retried request send nothing twice. API keys carry only the abilities you give them, and secrets are shown once, then kept hashed or encrypted.
Idempotency in the docsThe same message over HTTP from the shell, over SMTP from a Laravel app, and over HTTP from Node.js. Swap in a key from your dashboard and a from address on your verified domain.
The API answers 202 Accepted with one message per recipient. The docs have samples in nine languages.
curl -X POST https://sendpelican.com/v1/emails \
-H "Authorization: Bearer <YOUR_API_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"from": {
"email": "hello@yourdomain.com"
},
"to": [
"recipient@example.com"
],
"subject": "Hello from yourdomain.com",
"html": "<p>Sent with SendPelican.</p>",
"text": "Sent with SendPelican.",
"category": "welcome"
}'
# Laravel 11+. On Laravel 10 or older, use MAIL_ENCRYPTION=tls in place of MAIL_SCHEME.
MAIL_MAILER=smtp
MAIL_SCHEME=smtp
MAIL_HOST=smtp.sendpelican.com
MAIL_PORT=587
MAIL_USERNAME=<SMTP_USERNAME>
MAIL_PASSWORD=<SMTP_PASSWORD>
MAIL_FROM_ADDRESS=hello@yourdomain.com
// Node.js 18+, saved as send.mjs
const response = await fetch('https://sendpelican.com/v1/emails', {
method: 'POST',
headers: {
Authorization: 'Bearer <YOUR_API_TOKEN>',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"from": {
"email": "hello@yourdomain.com"
},
"to": [
"recipient@example.com"
],
"subject": "Hello from yourdomain.com",
"html": "<p>Sent with SendPelican.</p>",
"text": "Sent with SendPelican.",
"category": "welcome"
}),
});
console.log(response.status, await response.json());
Email Sandbox
Point your development, staging or CI app at the sandbox and every email it sends lands in an inbox you can open, and none of it reaches a real person.
Flat monthly plans in pounds. Start on the free plan and upgrade when your volume grows.
£0/mo
£5/mo
£25/mo
£90/mo
A separate plan, billed on its own. Captured email is never delivered and is deleted after the plan's retention.
Amazon SES (Simple Email Service), Amazon's large-scale sending network. SendPelican creates and confirms the SES identity for your domain and handles bounces, complaints, suppressions, tracking and webhooks on top. You don't need an AWS account.
Yes: the Email Sandbox. Point your test app at smtp.sendpelican.com port 2525 with a sandbox inbox's login and its email is captured for you to inspect, never delivered. Sandbox Free costs nothing: 1 inbox and 100 emails a month, kept for 1 day. It has its own plan, so testing never uses your sending quota.
Gmail, Outlook and other providers distrust a new domain that suddenly sends thousands of emails, and every customer's mail shares our sending reputation. A newly verified domain starts at 200 a day. Each day with bounces under 2% and complaints under 0.05% moves it up a stage, and after stage 8 only your plan's limits apply. The warm-up docs list every stage.
It depends on your plan. After that, the message, its events and its stored body are deleted.
Yes, on paid plans (Starter, Growth and Pro). Bulk email goes through its own endpoint or a bulk SMTP credential, up to 500 recipients per request with a personalised subject and body for each, and it travels on its own queue so it never holds up your receipts. Every bulk email gets an unsubscribe link and your postal address. You bring the list: contact lists, campaigns and sequences are not built yet. See the bulk docs.
Over SMTP, yes. SMTP mail can carry attachments, inline images and your own headers. The HTTP API does not accept attachments yet.
Create an account, verify a domain, and send. The free plan needs no card.