Emailens
Reference

Changelog

Release notes and version history for Emailens.

v0.8.0

Competitive Gap Closure

Major expansion across analysis depth, deliverability, and CI/CD tooling.

  • 250+ CSS properties — auto-synced from caniemail.com data (up from 56 hand-maintained properties). Run bun run sync:caniemail to regenerate.
  • 13 email clients — added HEY Mail and Superhuman alongside Gmail (Web/Android/iOS), Outlook (365/New/Classic), Apple Mail (macOS/iOS), Yahoo Mail, Samsung Mail, and Thunderbird
  • DNS deliverability checker — new checkDeliverability(domain) validates SPF, DKIM, DMARC, MX, and BIMI records via node:dns/promises. Returns a 0-100 score with actionable issues.
  • SpamAssassin integration — opt-in checkSpamAssassin(rawMessage) shells out to local spamc/spamassassin. Returns null if not installed.
  • "Content Hygiene" rename — user-facing labels changed from "Spam Score" to "Content Hygiene" to avoid implying parity with real spam filters. API names unchanged.
  • CLI lint commandemailens lint <file|glob> with structured exit codes (0/1/2), --fail-on-warning, --skip, --max-warnings, and JSON output. CI/CD-friendly.
  • Session APIsession.checkDeliverability(domain) for async deliverability checks within an existing session
  • Pseudo-selector detection:hover, :focus, ::before, ::after, and other pseudo-classes/elements now detected via csstree AST walker
  • CSS function detectioncalc(), min(), max(), clamp(), gradients, and other CSS functions accurately detected (requires opening paren to prevent false positives)
  • Plan-gated features — Gmail clipping detection (size check), template variable scanning, and DNS deliverability checks now require a Dev or Pro plan. Content hygiene, link validation, accessibility, and image analysis remain free for all users.

v0.7.0

Enterprise Gap Closure

  • Inbox preview in audit — subject line and preheader extraction with per-client truncation data
  • Gmail clipping detection — warns when HTML exceeds 102KB
  • Template variable detection — catches unresolved {{var}}, ${var}, *|TAG|*, etc.
  • CAN-SPAM address check — flags missing physical mailing address
  • Broken anchor detection — validates internal #fragment links
  • Charset check — warns on missing or incorrect charset declarations

v0.2.0

Framework-Aware Fix Suggestions

CSS warnings now include framework-specific fix snippets for React Email (JSX), MJML, and Maizzle. Instead of generic HTML/CSS fixes, you get idiomatic patterns for your framework.

  • New framework parameter on analyzeEmail() and getCodeFix() — pass "jsx", "mjml", or "maizzle" to get framework-native fix snippets
  • New format parameter on MCP tools preview_email and analyze_email
  • New types: Framework ("jsx" | "mjml" | "maizzle") and InputFormat ("html" | Framework)
  • CodeFix.language expanded to include "jsx" for proper syntax highlighting
  • 21 new fix snippets covering React Email components (Row, Column, Font, Img, Container), MJML elements (mj-section, mj-column, mj-font, mj-style), and Maizzle patterns (Tailwind classes, MSO conditionals, config guidance)
  • 4-tier resolution cascade: property + client + framework > property + framework > property + client > property (most specific fix wins)
  • Maizzle support added as a fourth input format across the API, MCP, and engine
  • generateFixPrompt() now accepts format: "maizzle" and includes framework-specific LLM instructions for all four formats

v0.1.0

Initial release of Emailens.

Features

  • Engine package (@emailens/engine) — CSS transformation, analysis, compatibility scoring, dark mode simulation, code fixes, and diff comparisons for 13 email clients
  • Web app — paste HTML, React Email, or MJML and get per-client previews with scores, warnings, and dark mode variants
  • REST APIPOST /api/preview endpoint with session and API key authentication
  • MCP server — 3 tools (preview_email, analyze_email, list_clients) for Claude Desktop and Claude Code
  • GitHub Action — CI/CD integration with configurable score thresholds
  • Screenshots — Playwright-rendered screenshots via Browserless, stored on Cloudflare R2

Supported email clients

Gmail (Web, Android, iOS), Outlook (365, Windows), Apple Mail (macOS, iOS), Yahoo Mail, Samsung Mail, Thunderbird, HEY Mail, Superhuman.

Plans

  • Free: 30 previews/day
  • Dev ($9/mo): 100 previews/day, 1 API key, share links, visual diff
  • Pro ($19/mo): Unlimited previews, 10 API keys, CI/CD + GitHub Action, team workflows, AI fixes

On this page