Details below are from Ethereal Email’s site on 17 October 2026. Check it for current details.
At a glance
| Proxy Mail QA | Ethereal Email | |
|---|---|---|
| How mail gets in | Sent to a real address over the internet, by any app or service | Your code sends through smtp.ethereal.email, which catches it |
| Can other apps email it | Yes | No: inbound mail to public accounts bounces |
| Free | The whole product under fair use | Free, no sign-up |
| Reading mail | Web app, REST API, npm package, Python helper, MCP server | Web mailbox, IMAP and POP3, preview links from Nodemailer |
| Codes and links | Pulled out and shown on the account’s row, returned on their own by the API | Not pulled out: you read the message |
| Kept | The address lifetime you pick, up to 30 days on the Free plan | The mailbox shows messages from the last 15 days |
| Test accounts | Personas, saved passwords, notes, tags and reports | Not the focus |
Where Ethereal is the better choice
- Writing Node.js code that sends email. One call to
nodemailer.createTestAccount()gives you SMTP credentials, and every message your code sends shows up in a mailbox you can open, with nothing delivered.
Where Proxy Mail QA is the better choice
- Signing up to the app you’re testing. Ethereal addresses can’t receive mail from other apps, so they can’t stand in for a user. Proxy Mail QA addresses can.
- Hosted auth services. Supabase, Clerk, Auth0 and Firebase send their own emails. A real address receives them without changing your app’s sending.
- Tests and agents. The npm package, REST API and MCP server wait for the email and return just its code or link, and the GitHub Action reports each run on the pull request.