Send test emails
Simulate delivered, bounced, complained, and suppressed events with SendDart test addresses — without harming your domain reputation.
While building your integration it is important to exercise the different deliverability outcomes — a delivery, a hard bounce, a spam complaint, a suppressed recipient. SendDart provides reserved test addresses that trigger each event reliably, so you can verify your webhooks, event handling, and suppression logic without mailing real people.
Available test addresses
| Address | Simulates |
|---|---|
delivered@test.senddart.com | A successful delivery — the email advances to delivered. |
bounced@test.senddart.com | A hard bounce (an SMTP 550 5.1.1 "Unknown User"). The email moves to bounced and the recipient is auto-suppressed. |
complained@test.senddart.com | The message is delivered but the recipient marks it as spam — a complained event, and the recipient is suppressed. |
suppressed@test.senddart.com | The recipient is already on your suppression list, so the send is skipped with status suppressed. |
Send to a test address
import { SendDart } from 'senddart';
const mb = new SendDart('mb_xxxxxxxxx');
const { data, error } = await mb.emails.send({
"from": "Acme <hello@yourdomain.com>",
"to": ["bounced@test.senddart.com"],
"subject": "Testing a bounce",
"html": "<p>This should hard-bounce.</p>"
});
console.log({ data, error });Labeling test runs
The delivered, bounced, and complained addresses support plus-labeling: add any string after a + (e.g. delivered+signup@test.senddart.com) and the event still fires, but the recipient address now identifies that specific test run. This is useful for correlating webhook callbacks back to the flow that triggered them.
delivered+signup@test.senddart.com
delivered+password-reset@test.senddart.com
bounced+import-batch@test.senddart.comsuppressed@test.senddart.com address does not support labeling.