Get started
Test mode and test addresses
Build and test your integration with pm_test_ keys and addresses that bounce, complain or open on purpose.
NeedsAny accountTest keys work as soon as you sign up. Nothing is delivered.
A pm_test_ key validates every request exactly like a live key, applies the same limits and returns the same errors, but never hands email to a mail server. Test emails appear in the dashboard (switch on Test mode), and events are simulated so you can test your webhook handler.
Test addresses
Send to these to get a particular outcome:
| Address | What happens |
|---|---|
delivered@test.padimail.app | sent, then delivered |
bounced@test.padimail.app | sent, then bounced (hard) |
soft-bounce@test.padimail.app | sent, delayed, then bounced (soft) |
complained@test.padimail.app | sent, delivered, then marked as spam |
opened@test.padimail.app | delivered, opened, then clicked |
suppressed@test.padimail.app | suppressed: never sent |
| any other address | sent, then delivered |
const { id } = await pm.emails.send({
from: "Acme Store <onboarding@sandbox.padimail.app>",
to: "bounced@test.padimail.app",
subject: "Testing bounces",
text: "This one bounces.",
});
const events = await pm.emails.events(id); // email.sent, then email.bouncedGoing live
| Step | You can |
|---|---|
| Sign up | Use test keys only |
| Verify your phone (Tier 0, sandbox) | Use live keys to send from onboarding@sandbox.padimail.app to your organisation's own verified addresses, up to 50 a day |
| Verify your NIN or BVN (Tier 1) | Send from your own domain to anyone |
Before phone verification, live keys return 403 phone_verification_required. In the sandbox, sending to anyone else returns 403 sandbox_recipient_not_verified. Both errors link to the verification page.
Was this page helpful?