SMTP testing for developers
Test your email flow.
Delivered. Deferred. Bounced.
Simulate successful delivery, bounces, and deferrals with a test email. Check how your app handles each response before it affects a customer.
Seven addresses. Predictable SMTP responses.
Choose the outcome you want to test
Each address returns a specific SMTP response. Copy one to start your test.
-
Delivered
Accepted and discarded.
success@mailboxsimulator.com
2502.0.0
-
Hard bounce
A permanent delivery rejection.
hardbounce@mailboxsimulator.com
5505.0.0
-
Soft bounce
A temporary delivery rejection.
softbounce@mailboxsimulator.com
4504.0.0
-
Deferred
A temporarily unavailable mailbox.
deferred@mailboxsimulator.com
4504.2.0
-
Mailbox full
A full mailbox that cannot accept mail.
mailboxfull@mailboxsimulator.com
4504.2.2
-
User unknown
A nonexistent recipient address.
userunknown@mailboxsimulator.com
5505.1.1
-
Blocked
A policy rejection, not a spam scan.
blocked@mailboxsimulator.com
5505.7.1
250 means accepted, 450 means a temporary failure, and 550 means a permanent failure. The second code gives more detail about the outcome.
The success address returns 250 at the recipient step (RCPT TO) and 250 2.0.0 after the message body (DATA). All other scenarios reject at the recipient step.
From test address to SMTP response
-
01 / Choose
Copy a test address
Choose a scenario above. Start with successful delivery, then test how your app handles failures.
-
02 / Send
Send through your app
Use the address as the recipient in your existing email flow. The subject and body don’t change the outcome.
-
03 / Inspect
Verify your handling
Check your sender’s logs or provider dashboard. Confirm that your app handles acceptance, retries, and permanent failures as expected.
Label each test run
Add + and a label before the @ in any test address. Use an order ID or test name to find the recipient in your own logs; the response stays the same.
hardbounce+order123@mailboxsimulator.com
Know what to expect
Successful delivery is simulated: the server accepts and discards the message. There is no inbox to check, and the simulator sends no bounce emails or event reports.
Temporary failures return the same response on every retry; they never switch to success automatically. Your sending provider decides when to retry and how to report the result.