QA email in staging
Before a release ships, you need to know your staging or pre-prod environment sends the right email: the correct template, the correct links, fired by the correct trigger — and none of it landing in a real user's mailbox. Perenmail gives you private inboxes on real domains that persist by default, so you can keep a durable test mailbox per environment, per feature, or per tester and verify what your product actually sends.
The problem with ad-hoc QA inboxes
QA email tends to get tested on whatever address is closest to hand: a shared team account, a personal address, or a self-destructing throwaway. Each one breaks down the moment a test run stretches beyond a single message.
The shared team inbox
One address that the whole team pipes staging mail into becomes noise fast. You can't tell your run from a colleague's, unread state is meaningless, and nobody wants to delete a message that might belong to someone else's test.
Inboxes that expire mid-test
A disposable address that self-destructs on a timer is the wrong tool for QA. A verification you kicked off before lunch, a digest that sends overnight, a reset link you need to re-check tomorrow — all gone before you can confirm them.
Both problems have the same root: the mailbox is transient or unowned. A QA pass wants the opposite — a private, registered-only inbox that stays exactly where you left it until you decide the test is done. That's the case for treating inboxes as durable test fixtures, one per environment or feature, rather than as disposable scratch space.
How Perenmail fits a QA workflow
Point your staging environment's email at a private inbox and organize the runs the way you already organize your test plan.
Group inboxes by environment or feature with projects
Create a project per environment — staging, pre-prod, a feature branch — and keep its inboxes together. One address per tester or per flow lives under the right project, so a run against staging never gets confused with one against pre-prod.
Label runs with markers and tags
Mark inboxes and messages so a QA pass is legible after the fact: which ticket, which build, which template revision. When you come back a week later the labels tell you what each mailbox was for.
Search across everything
Look up a subject line, a recipient, or a phrase in a body across every project and inbox at once. Confirming that a template change shipped is a search, not a scroll through a shared team mailbox.
Inspect the template in a safe sandbox
HTML bodies render in a locked, script-free sandboxed iframe, so hostile or malformed markup from a staging build can't run. Toggle between Rendered, Text, and Source to see exactly what the template produced.
Confirm what actually shipped in the headers
Open the full RFC822 source with synthesized SPF, DKIM, and DMARC results to verify your own outbound configuration from staging. Raw source, headers, and attachments are a Personal+ feature.
Because inboxes persist by default and mail streams in live, a verification email you triggered this morning is still at the top of its inbox this afternoon — and a run against an overnight job or a delayed or cron-driven send is waiting when you come back to confirm it, not expired.
Inspecting real deliveries vs capturing outbound
There are two ways to QA email from a non-production environment. One is to capture outbound mail before it leaves — pointing your app at an SMTP sink that traps everything so nothing reaches a real recipient. That is what a tool like Mailtrap is built around, and it is a good fit when you want a blanket guarantee that staging can never mail a customer.
Perenmail takes the other approach: you send to a private address on a real domain and inspect the message that actually arrived, over real MX and delivery. That tests the full path your product takes to a genuine recipient — including the SPF, DKIM, and DMARC results on your outbound mail — and gives you a persistent, organized mailbox to keep those runs in. The two approaches aren't mutually exclusive; see how they compare in Perenmail vs Mailtrap, or read the FAQ for how the free and Personal+ plans differ.
Give staging a durable QA mailbox.
Create a private inbox on a real domain, point your staging environment at it, and verify every template, link, and trigger before it ships. Free forever, no credit card.