Browse the docs

Integrating · Updated 2026-09-28

Test addresses

Every address at simulator.agentisend.com, the events each one produces, what gets suppressed, and the Resend test addresses they replace.

This page answers how to test a send, a bounce, a complaint or a suppression without mailing anybody. Send to an address ending in @simulator.agentisend.com. The part before the @ picks the outcome. Nothing is handed to a mail server, the send costs nothing, and it works before any of your domains is verified.

The addresses

Every simulated send is email.queued and then email.sent first. The events after that:

Send toEvents that followFinal statusResend address it replaces
delivered@simulator.agentisend.comemail.delivereddelivereddelivered@resend.dev
bounced@simulator.agentisend.comemail.bounced, with permanent: truebouncedbounced@resend.dev
complained@simulator.agentisend.comemail.delivered, then email.complainedcomplainedcomplained@resend.dev
suppressed@simulator.agentisend.comemail.suppressed, naming the addresssuppressedsuppressed@resend.dev
delayed@simulator.agentisend.comemail.delivery_delayed, then email.delivereddeliverednone

Four other spellings give the same outcomes: success@ delivers, bounce@ bounces, complaint@ complains and suppressionlist@ is suppressed. Any other local part delivers. The same local parts work at simulator.amazonses.com.

Every event of a simulated send carries simulated: true, and webhooks receive it like any other event, so a handler can be tested end to end.

Labels

Anything after a + in the local part is ignored when the outcome is picked, so bounced+signup-test@simulator.agentisend.com bounces and delivered+run-12@simulator.agentisend.com delivers. Use a label to tell one test run from another in GET /emails and in your webhook logs. The form is Resend's delivered+label@resend.dev, moved to simulator.agentisend.com. An address at resend.dev is not a test address here: a send to it is a real send.

What is suppressed

Nothing. A simulated bounce or complaint is not a mailbox refusing mail, so no address is added to the suppression list: a second send to bounced@simulator.agentisend.com is accepted and bounces again. GET /emails/{id}/explain on a simulated bounce says so.

To test what a suppressed recipient looks like, send to suppressed@simulator.agentisend.com. The message ends at status suppressed with an email.suppressed event, the same event a real suppressed recipient produces. GET /suppressions is unchanged by it.

What is counted

Simulated events never count toward the deliverability figures of a domain or your trust standing. A day of bounced@ tests leaves both where they were.

One real address in the recipient list makes the whole send real: it goes out to a mail server, it is charged, and it is counted. Keep test sends to simulator addresses only.

Next