# `recycled_mailbox`: the mailbox exists now but once answered that it did not

A definitive no-such-mailbox was recorded for the address earlier and the mailbox answers now — the shape of a recycled address, the spam-trap kind included.

- Weight: +30
- Dataset: mailbox-history
- Read from: `previously_invalid`
- Verdict reasons it comes with: `recycled_mailbox`

The not-found memory is kept for a year under a keyed hash of the address, fed by the handshake and by bounce reports whose reason reads as user unknown. Only a not-found recorded before this answer counts; a mailbox with no such history reads previously_invalid false.

It reads from previously_invalid and previously_invalid_at and comes with the recycled_mailbox verdict reason, placed after role.

**What to do.** Do not add it to a campaign list on the strength of one confirmation: a recycled trap is exactly a dead address that came back.

```json
{
    "email": "mia@acme.com",
    "deliverable": "risky",
    "reason": "recycled_mailbox",
    "mailbox_exists": true,
    "previously_invalid": true,
    "previously_invalid_at": "2026-05-14",
    "risk_signals": [
        {
            "signal": "recycled_mailbox",
            "weight": 30,
            "dataset": "mailbox-history"
        }
    ]
}
```

Reference: https://spaw.co/docs/signals/recycled_mailbox
