Get started
Quickstart
Run the Pretend Docker image, open the dashboard and capture your first email.
1. Start the container
The image is published on Docker Hub as a2coder/pretend.
Terminal
docker run -d --name pretend -p 3000:3000 \
--add-host host.docker.internal:host-gateway \
-v pretend-data:/app/.data \
-e DISABLE_LOGIN=true \
a2coder/pretend-p 3000:3000publishes the API and the dashboard onlocalhost:3000.-v pretend-data:/app/.datakeeps the SQLite database and attachments across restarts.--add-hostlets Pretend reach servers on your machine, for webhooks and attachment URLs.DISABLE_LOGIN=trueopens the dashboard without signing in. Only use it on a trusted machine.
2. Open the dashboard
Go to http://localhost:3000/dashboard. The onboarding page shows the base URL and API key for the origin you opened it on, and a Send button for a first test email.
3. Send an email
Without RESEND_API_KEY, Pretend accepts the key re_local_dev_key.
cURL
curl -X POST http://localhost:3000/emails \
-H 'Authorization: Bearer re_local_dev_key' \
-H 'Content-Type: application/json' \
-d '{
"from": "Acme <onboarding@resend.dev>",
"to": ["delivered@resend.dev"],
"subject": "It works",
"html": "<p>Captured by Pretend</p>"
}'The response is the same as Resend's, {"id": "…"}, and the email appears in the dashboard.
tip
Send from onboarding@resend.dev until you add a domain. Like Resend, Pretend only lets verified domains send. See Differences from Resend.
Next steps
- Connect your SDK instead of calling the API by hand.
- Run it with Docker Compose next to the rest of your stack.
- Configure the API key, the dashboard login and the emulator rules.