Getting Started

Point an MX record at mx.smtp.dev, create an account, and send your app's first test email. Read it over IMAP, POP3, API, or the web UI.
  1. Sign up and log in
  2. Go to Domains and add your domain
  3. Add an MX record pointing to mx.smtp.dev at your DNS provider (details)
  4. Go to Accounts and create an email address on that domain
  5. Send an email to that address from your app
  6. Open the account in Mail - your email should be there
You can also use any email client over IMAP, POP3, SMTP and API.

Over the API

The same flow, scripted. Create a key on the API Keys page first; the MX record from step 3 still has to exist.

curl -X POST https://api.smtp.dev/domains \
  -H "X-API-KEY: $SMTP_DEV_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"domain": "test.example.com"}'

curl -X POST https://api.smtp.dev/accounts \
  -H "X-API-KEY: $SMTP_DEV_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"address": "qa@test.example.com", "password": "use-a-secret"}'

Everything in the UI maps to a REST endpoint, so whatever you set up by hand you can also script.

DomainsYour own domains and subdomains, isolated from each other.
AccountsEmail addresses with mailboxes, passwords, and storage. Plus-sign aliasing and catch-all included.
MailboxesInbox, Sent, Trash, Drafts, Junk by default. Create more as needed.
MessagesHTML and plain text views, raw SMTP source, SPF/DKIM/DMARC checks, attachments.
ComposeSend test emails between accounts from the browser.
API TokensKeys for the REST API.
Real-timeNew messages show up instantly via SSE.