Skip to content

← All writing

Guides

How long should a temporary inbox live?

17 July 2026 · 2 min read · TMailr

Every disposable service picks a lifetime, and the number is a compromise between two things that pull in opposite directions: mail that has not arrived yet, and data that should not still exist.

What the mail needs

Most verification mail arrives in seconds. Some does not. A queue backs up, a provider throttles a new sender, greylisting deliberately defers the first attempt for fifteen minutes. Ten minutes is enough for the common case and short enough to fail the ordinary exceptions.

An hour covers nearly everything, including greylisting and a slow retry, which is why we default to it.

What the person needs

Long enough to finish what they started. That is rarely the same as long enough to receive the mail: people open a signup, get distracted, come back after lunch. If the inbox has gone, so has the account they were halfway through creating.

So there is a case for extending, and a case for not extending automatically. Ours can be extended to twenty-four hours by the person holding the link, and does not extend by itself, because an inbox that renews while nobody is looking is a permanent inbox with extra steps.

What argues for shorter

Everything held is a liability. A verification code sitting in an inbox for a day is a code available to anybody who obtains the link for a day. The shortest lifetime that does the job is the safest one, and the honest framing is that the lifetime is an exposure window rather than a feature.

Why a burn option matters more than the default

The right answer varies by use, so let the person choose. Delete after the first message suits a verification code exactly: the mail arrives, the code is read, the inbox and its contents go. That is a shorter exposure than any default could safely be.

It has to actually delete. We shipped a version of this that marked the inbox burned and left everything in place until the original hour expired, which is the opposite of what the person chose. Measured after the fix: gone within six minutes, the delay being a short grace so an open tab reads expired rather than an error.

What to ask of any service

  • What is the default, and can it be extended by hand?
  • Does anything renew automatically, without being asked?
  • When it expires, are the stored messages deleted or just hidden?
  • Is there a way to end it early, and does that end it or flag it?
  • How long after expiry does the deletion actually run?

The last one is the one nobody publishes and everybody should. Ours is a few minutes, and it is a few minutes because the sweep runs every minute after a five minute grace, not because it sounded reassuring.

More on guides