Test emails
On this page
Test addresses return the same result every time, answer instantly, and don't use credits on the single and batch endpoints. Use them in development and CI to exercise each branch of your result handling.
The test addresses
These six always return a deliverable result:
| Address | status | category | failType |
|---|---|---|---|
[email protected] | mailbox_found | deliverable | none |
[email protected] | mailbox_found | deliverable | none |
[email protected] | mailbox_found | deliverable | none |
[email protected] | mailbox_found | deliverable | none |
[email protected] | mailbox_found | deliverable | none |
[email protected] | mailbox_found | deliverable | none |
The rest each return one specific outcome:
| Address | status | category | failType | statusMessage |
|---|---|---|---|---|
[email protected] | mailbox_found | deliverable | none | The mailbox exists and accepts mail. |
[email protected] | no_response | risky | temporary | The mail server would not confirm this address. |
[email protected] | server_error | undeliverable | temporary | The mail server returned an error. |
[email protected] | server_error | undeliverable | temporary | The mail server returned an error. |
[email protected] | mailbox_not_found | undeliverable | permanent | This mailbox does not exist. |
[email protected] | blocked_by_server | risky | temporary | The mail server blocked the check. |
[email protected] | accept_all | risky | none | The domain accepts mail for any address, so this mailbox can't be confirmed. |
[email protected] | mailbox_unconfirmed | risky | none | The mailbox seems to exist, but the server would not confirm it accepts mail. |
[email protected] | disposable | risky | none | This is a throwaway inbox that will likely stop working soon. |
Watch the domains: [email protected] is deliverable, while [email protected] is a missing mailbox. Copy the full address. Matching ignores case, so [email protected] behaves like the lowercase form.
Credits
You still need a valid API key. Test addresses skip the charge, not authentication, so they also confirm that your key and headers are right. They also count toward rate limits.
Example
curl -G "https://simplecold.com/api/v1/api-validation/single" \
--data-urlencode "[email protected]" \
-H "Authorization: Bearer YOUR_API_KEY"{
"code": "SUCCESS",
"message": "Successfully performed operation.",
"payload": {
"email": "[email protected]",
"domain": "acceptall.com",
"status": "accept_all",
"statusMessage": "The domain accepts mail for any address, so this mailbox can't be confirmed.",
"category": "risky",
"failType": "none",
"mxLocation": "US",
"siteLocation": "US",
"siteLanguage": "EN",
"suggestion": null
},
"requestId": "5f3a..."
}One batch request covers every branch:
curl -X POST "https://simplecold.com/api/v1/api-validation/batch" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"emails":["[email protected]","[email protected]","[email protected]","[email protected]","[email protected]"]}'What test addresses don't cover
The sandbox covers all of these without credits.
Keep them out of production
If a test address reaches a production sign-up form, it passes verification and lands in your database as a deliverable contact. Block the test domains in production, or tag records created with them so they never sync to your sending tool.