Email sandbox
Inboxes & projects
An inbox collects the mail sent with its SMTP credentials. Create one per app and environment (for example Checkout · staging and Checkout · CI) so that each environment's mail stays separate and each set of credentials can be rotated on its own.
Creating an inbox
Team owners and admins create inboxes with + New in the sidebar, or through the API:
curl -X POST https://testlie.com/api/inboxes \
-H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json" \
-d '{ "name": "Checkout · staging", "maxMessages": 500 }'The response includes the inbox's id, SMTP credentials (smtp.host, smtp.ports, smtp.username, smtp.password) and, when the server has an inbound domain, its inboundAddress.
| Setting | Notes |
|---|---|
| Name | Up to 80 characters. |
| Project | Optional; see below. |
| Message limit | How many messages the inbox keeps (1 to 10,000, capped by your plan). When it is full, the oldest messages are removed as new ones arrive. Default 500. |
| SMTP password | Shown to every team member. Admins can Rotate password; apps using the old one start getting 535 straight away. |
Disposable inboxes
For a test run that should leave nothing behind, create an inbox that deletes itself (and its messages) after a while:
curl -X POST https://testlie.com/api/inboxes -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/json" \
-d '{ "name": "ci-run-1234", "expiresInMinutes": 60 }'expiresInMinutes can be up to 7 days (10080). The worker removes expired inboxes within a minute of their expiry. Disposable inboxes count toward your plan's inbox limit while they exist.
Projects
Projects group inboxes in the sidebar. They are optional: with no projects the sidebar is a flat list. Create them from the sidebar or the Projects page (admins), then pick a project in an inbox's Inbox settings tab. Deleting a project keeps its inboxes; they move to Ungrouped.
Roles
| Role | Can |
|---|---|
| Member | Read, search, mark and delete messages; empty inboxes; use identity providers; see webhooks (without their secrets). |
| Admin | Everything members can, plus create, configure and delete inboxes, projects, webhooks, forwarding, API keys and team SSO, invite people, and read the audit log. |
| Owner | Everything admins can, plus manage roles and delete the team. |
API keys act as an admin for inboxes, messages, webhooks and identity providers. Team, SSO and API-key management need a signed-in person.
Live updates
The message list updates the moment mail arrives, for everyone viewing the inbox, over server-sent events (GET /api/inboxes/:id/events). Unread counts in the sidebar update with it.
Retention
Messages are deleted when the inbox's message limit pushes them out, when someone deletes them, and when they are older than your plan's retention period (see Plans & limits). When a team moves to a plan with a shorter retention period (after cancelling, a failed payment or the end of a trial), messages older than the new period are deleted within minutes, and each inbox keeps only the new plan's number of messages from its next message on.