MailViewr - Free HTML Email Preview Tool
← Back to Blog

HTML Email QA Report — 9 Pre-Send Checks Every Developer Needs

You've written the HTML, previewed it in Gmail and Outlook, and it looks right. But there's a category of mistakes that rendering previews don't catch — missing unsubscribe links, emails that Gmail will silently clip, placeholder hrefs that shipped from a template without being filled in. These are the issues a pre-send QA report is built to find.

What is a pre-send email QA report?

A QA report runs a set of structural checks against your HTML before it goes out. It's not a rendering preview — it doesn't care how the email looks visually. It cares whether the HTML is structurally sound: compliant with legal requirements, safe from spam filters, and free from the kind of copy-paste mistakes that embarrass developers.

MailViewr's Pre-Send QA Report runs 9 checks and produces a readiness score out of 100. A score of 80 or above means the email is ready to send. Below that, the report tells you exactly what to fix.

The 9 checks — what they catch and why they matter

1. Gmail clipping risk (−10 pts)

Gmail clips any email with HTML over 102KB and replaces the bottom of the message with a "View entire message" link. When Gmail clips your email, your footer, unsubscribe link, and any CTAs below the fold are hidden by default. Most recipients never click to expand. The check flags emails over 102KB before they go out.

2. Missing unsubscribe link (−15 pts)

CAN-SPAM (US) and GDPR (EU) both require a visible, working unsubscribe mechanism in commercial emails. Missing one isn't just a legal risk — it trains recipients to mark you as spam instead of unsubscribing, which damages your sender reputation. This check scans your HTML for an unsubscribe href and deducts 15 points if none is found. It carries the highest penalty of any single check.

3. Image-only email detection (−10 pts)

An email with fewer than 20 characters of readable text and at least one image is flagged as image-only. Image-only emails are routinely blocked or filtered by spam filters. They also fail accessibility requirements — screen readers have nothing to read, and images-off rendering leaves recipients with a blank email. Always include a text alternative.

4. Images missing alt text (−5 pts)

Every <img> tag that lacks an altattribute gets flagged. Alt text is required for accessibility and for images-off rendering — many email clients block images by default, so recipients see alt text before they've allowed images to load. Blank alt text (alt="") is acceptable for decorative images; the check catches tags with no alt attribute at all.

5. External stylesheet links (−8 pts)

<link rel="stylesheet"> tags are stripped or blocked by Gmail, Outlook, and most major email clients. CSS must be inlined or placed in a <style> block in the <head>. External stylesheets have no effect on how your email renders — but the check flags them because their presence usually means the developer assumed they'd work.

6. Missing DOCTYPE declaration (−5 pts)

Without a DOCTYPE, email clients switch to quirks mode and render inconsistently. The check verifies that your HTML begins with <!DOCTYPE. It's a one-character fix if caught early; it's a rendering mystery if you don't catch it at all.

7. Missing structural tags (−10 pts)

The check verifies the presence of <html>, <head>, and <body>tags. These aren't optional in email HTML — their absence causes parsing failures in strict clients like Outlook desktop. If you're building emails from scratch rather than from a template, this is an easy one to miss.

8. Placeholder hrefs (−5 pts)

Template variables left unfilled before sending — {{link}}, example.com, javascript:, bare # — are flagged across every href attribute in the document. This check exists because copy-paste mistakes are common, and a broken link in a transactional email erodes trust immediately. Placeholder links deduct up to 20 additional points total (capped).

9. Missing viewport meta tag (−5 pts)

Without <meta name="viewport" content="width=device-width, initial-scale=1">, mobile email clients may render your email at desktop width on a small screen. The check ensures the tag is present in your <head>.

How the score works

Each failed check deducts a fixed number of points from a base score of 100:

  • 80–100: Ready to send
  • 60–79: Issues to address before sending
  • Below 60: Critical problems — do not send

The score gives you a single number to track across revisions. Fix the issues, re-run the report, watch the score go up.

The link audit

In addition to the 9 structural checks, the QA Report extracts every href from your HTML and groups them into two lists: placeholder links (flagged in red, with point deductions) and real links (listed for manual verification). You can open each link directly from the report panel and mark it as verified before sending.

This matters because automated checks can only flag obvious patterns. A link that looks real but points to a staging environment, a 404 page, or the wrong URL won't be caught by pattern matching — but you'll catch it by clicking it once.

What the QA report doesn't replace

The QA report catches structural and compliance issues. It doesn't replace:

  • Rendering previews— it won't tell you your layout breaks in Outlook. Use the email preview tool for that.
  • Real inbox testing — send a test email to your own inbox and verify it on a physical device before a large send.
  • Spam score analysis — a structurally sound email can still trigger spam filters based on content, sender reputation, or domain history.

Use the QA report as one step in a broader pre-send checklist, not as the only step.

How to run it

The QA Report is available in the MailViewr email preview tool. Paste your HTML, click the QA Report button in the toolbar, and results appear in a panel within 5 seconds. A free MailViewr account is required to run the report. Email preview, dark mode testing, and CSS compatibility scoring are available without signup.

Run your pre-send checklist

Catch clipping risks, missing unsubscribe links, and placeholder hrefs before they reach your subscribers.

Run QA Report free →

Related Reading