Find broken destinations while there is still time to fix them
Upload the delivered test email and every unique link that is not recognized as action-bearing gets one bounded check, with redirects followed and recorded up to 3 hops. Dead destinations come back Broken with the exact failure — a 404, a timeout, a TLS failure, a redirect loop — so the fix happens in your sending platform before the send, not in an apology email after it.
How it works
-
Save and upload the delivered test
The .eml you save from your inbox holds the final rewritten links — the tracking domains and appended parameters your platform added — which the template does not.
-
Links are extracted and deduplicated
Every
a[href]in the HTML part, with link extraction from the plain text when no HTML part exists. Each unique URL is checked once, however many times it appears in the email. -
Recognized action links are set aside
Links recognized as action-bearing — unsubscribe, sign-in, reset, purchase — are marked Protected and never requested. They stay in the report for your manual review.
-
One bounded request per link
HEAD-first with a bounded GET fallback, identified as
SendProofs/0.1, on standard ports only, with strict time budgets and no retries. -
Redirects are followed and recorded
Up to 3 hops, every hop screened and written down with its status. Loops, missing redirect targets and chains past the limit are recorded as Broken with an explicit code; an HTTPS downgrade inside the chain is recorded as a warning on the resource.
-
Broken evidence, then the fix
Each Broken link shows the failing status or error code and the chain up to the fault. Fix it in your sending platform, send a fresh test, and recheck — SendProofs cannot fix links for you.
What the states mean here
- Broken
- The destination failed a deterministic check — an error status such as 404, a timeout, a connection or TLS failure, a redirect loop or a missing redirect target. The code is recorded. Fix, fresh test, recheck.
- Warning
- Reachable, but flagged — an HTTPS downgrade mid-chain, an oversized response truncated at 64 KB, or a tracking issue on the final URL. Review before approval.
- Healthy
- Answered 2xx within budget with nothing flagged. Evidence of reachability at check time.
- Protected
- Recognized as action-bearing and never requested — no automated evidence exists for it by design. Review by hand.
- Inconclusive
- The destination answered 401, 403 or 429 — it limited automated access, and SendProofs does not push past bot protection. Neither a pass nor a failure.
| Destination | Evidence | Decision |
|---|---|---|
| news.campaign.example/events/autumn | 302 to a retired destination, then 404: Broken | Ask the sender to replace the destination, send a fresh test and recheck. |
| partner.example/member-offer | 403: Inconclusive | Assign an authorized reviewer. The response does not establish whether the offer works for a member. |
| campaign.example/catalogue | 200: Healthy | A reviewer finds last season's catalogue. Correct the destination even though it answered. |
These are invented reserved-domain examples, not customer results. Record an owner and a decision for each unresolved item in the downloadable QA checklist. The redirect guide explains how to identify the failing hop.
What still needs a human
Three things stay on your desk after the run. Protected links carry no automated evidence at all — the recognized unsubscribe, sign-in and purchase actions are listed and marked "Not opened", and only you can review what is behind them. Inconclusive links answered with a 401, 403 or 429; the destination limited automated access, so open those in a browser yourself.
And read the Healthy list for what it is: evidence that each destination answered at check time — not confirmation that it is the right page. A link can resolve cleanly to last month's landing page. Only a human knows the intended destination; an automated 200 alone does not prove the campaign is correct.
Related
Every unique public link in the delivered email, requested once with bounded, safe HTTP checks and the resulting status recorded as evidence.
Redirect evidenceRedirects followed up to three hops with every step recorded — source, target and status — plus warnings for HTTPS downgrades, loops and dead ends.
Review sensitive linksHow to QA unsubscribe, sign-in and purchase links without triggering them: SendProofs identifies them, never opens them, and hands them to you.
Check the links while the fix is cheap
Upload the delivered test — every eligible link checked once, every redirect chain recorded up to 3 hops.