Bots are silently destroying your Klaviyo deliverability.

Save My Spot →
Learn Email Templates Plain Text Email
Part 13 of 15 · Email Templates

Plain Text Email &
Multipart MIME Structure

HTML-only emails raise spam filter scores. Spam filters penalize emails without a plain text part. Multipart/alternative MIME structure sends both HTML and plain text. Proper plain text formatting improves deliverability and accessibility.

2026 Current

Most modern ESPs default to multipart/alternative, but many email marketers ignore the plain text part. Spam filters now actively check for well-formed plain text as a deliverability signal.

Multipart/Alternative MIME Structure

Email messages are structured as MIME (Multipurpose Internet Mail Extensions) — a standard that allows multiple content types in a single message. Properly formatted emails use `multipart/alternative` structure, which includes both HTML and plain text parts. Email clients choose which version to display based on user settings and client capabilities.

Typical Email MIME Structure:

MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----boundary-string" ------boundary-string Content-Type: text/plain; charset="UTF-8" [Plain text version of email] ------boundary-string Content-Type: text/html; charset="UTF-8" [HTML version of email] ------boundary-string--

How Clients Decide Which Version to Render:

  • Gmail: Defaults to HTML, falls back to plain text if user requests "original message"
  • Apple Mail: Renders HTML; plain text shows if HTML rendering fails
  • Outlook: Renders HTML by default, shows plain text if user disables HTML
  • Corporate firewalls: Often block HTML, render plain text instead
  • Kindle email: Only accepts plain text, ignores HTML completely
  • Old clients (Lotus Notes): Only understands plain text

The `boundary` Parameter: The boundary string separates different MIME parts. It's a random string guaranteed not to appear in the email body. Example: `----boundary-abc123xyz789` — this separates the plain text section from the HTML section.

Plain Text as a Deliverability Signal

Spam filters actively check for multipart/alternative structure. HTML-only emails are penalized as a deliverability risk because legitimate emails almost always include plain text.

Deliverability Impact (Real Data from Email Filtering Studies):

  • HTML-only email: +0.5 to +1.5 spam score points
  • Multipart/alternative (HTML + plain text): 0 points (neutral)
  • Malformed plain text: +0.2 to +0.5 points (minor penalty)
  • Well-written plain text: -0.2 points (slight boost)

Why Plain Text Matters:

  • Legitimate marketing emails include both versions
  • Phishing and mass spam often omit plain text
  • SpamAssassin scoring (used by many ISPs) rewards multipart/alternative
  • A missing plain text part is a red flag for automated spam filters
  • Accessibility requirement: screen readers need plain text

Real-World Scenario: Two similar promotional emails from different senders. Email A: multipart with good plain text. Email B: HTML-only. Both have identical subject, from address, and content. Spam filter penalizes Email B by +1 point. Email A gets 4.2 spam score (passes at 5.0 threshold), Email B gets 5.2 (flagged for further review or filtered).

Text-to-HTML Ratio & Spam Scoring

Spam filters measure the ratio of actual text content to HTML markup. Too much markup and too little content = spam indicator.

Text-to-HTML Ratio Scoring:

  • 70% text, 30% HTML markup: Optimal (0 points)
  • 50% text, 50% HTML: Acceptable (0-0.2 points)
  • 30% text, 70% HTML: Suspicious (+0.5-1.0 points)
  • 10% text, 90% HTML: Very suspicious (+1.0-2.0 points)
  • 5% text, 95% HTML (mostly images/formatting): Phishing-like (+2.0+ points)

How to Calculate Your Ratio:

Raw HTML: <table width="600"><tr><td style="color:#333; font-size:16px;">Hello subscriber</td></tr></table> Characters breakdown: HTML markup: <table width="600"><tr><td style="color:#333; font-size:16px;"></td></tr></table> = 75 chars Text content: "Hello subscriber" = 16 chars Ratio: 16/(16+75) = 17% text, 83% HTML = SUSPICIOUS Better version: "Hello subscriber" with minimal styling = 60% text, 40% HTML = GOOD

Guideline for Campaigns: Aim for at least 40-50% actual text content (not including HTML tags). This keeps spam scores low while maintaining visual design.

Authentication Headers & MIME Envelope

DKIM, SPF, and DMARC headers live at the MIME envelope level — the outermost layer of the message. They protect the entire message structure and are added by your ESP, not embedded in the email body.

MIME Envelope Structure (How Headers Are Organized):

[SMTP Connection Level] MAIL FROM: sender@example.com (Envelope From) RCPT TO: subscriber@gmail.com [MIME Headers Level - Added by ESP] Return-Path: <sender@example.com> Authentication-Results: [DKIM, SPF, DMARC results] DKIM-Signature: [cryptographic signature] Received: from mail.example.com by gmail.com From: campaigns@example.com Subject: Your subject Content-Type: multipart/alternative [Email Body - MIME Parts] Plain text part HTML part

Critical Rule: Never include "DKIM verified" or authentication claims in the email body text. These belong in headers only. Claiming authentication in body text is a red flag for phishing.

Writing Plain Text: 72-Character Lines

Plain text email uses a specific format: 72-character line length with hard line breaks. This standard originated from 80-column terminal displays (72 chars + 8-char margins).

72-Character Line Format Example:

WRONG: Single long line Hello subscriber! We're excited to share our new email deliverability platform with you. Check out the features and benefits at our website today! RIGHT: 72-character line breaks Hello subscriber! We're excited to share our new email deliverability platform with you. Check out the features and benefits at our website today! Learn more: https://example.com

Why 72 Characters Matter:

  • Older email clients (Lotus Notes, Thunderbird) wrap at 80 characters
  • Terminal email readers (used by Unix/Linux enthusiasts) expect this format
  • Corporate proxies sometimes re-encode messages; proper format ensures readability
  • Mobile devices display text-only emails better with proper breaks
  • RFC 2822 recommends 78 character maximum (72 + 6 safety margin)

Best Practices for Plain Text Formatting:

  • Use hard line breaks (Enter key) every 72 characters, not soft wrapping
  • Use ASCII characters only (no Unicode symbols, smart quotes, emojis)
  • Use plain hyphens (-) and asterisks (*) for visual separation, not fancy Unicode
  • Use spaces for indentation, not tabs (tabs render as 8 spaces in some clients)
  • Double-space between paragraphs (blank line in between)
  • Use ALL CAPS sparingly (only for headings or emphasis)

Auto-Generated vs Manually Written

Most ESPs can auto-generate plain text by stripping HTML tags from your HTML version. This works, but manually written plain text is significantly better for both deliverability and user experience.

Auto-Generated Plain Text (HTML → Text Conversion):

HTML Version: <h1 style="color: blue;">Save 50% on Email Monitoring</h1> <p>Limited time offer. <a href="https://example.com">Click here</a>.</p> Auto-Generated Plain Text: Save 50% on Email Monitoring Limited time offer. Click here. Issues: - Lost all formatting context - Link appears as plain text, not URL - Reads as boring fallback, not curated content

Manually Written Plain Text:

Manually Written Version: ------------------------------------------- SAVE 50% ON EMAIL MONITORING Limited time offer — get 50% off annual plans at InboxEagle. Improve your inbox placement with real-time monitoring. CLAIM YOUR 50% DISCOUNT https://example.com/?utm_medium=plaintext Offer expires Friday at 11:59 PM EST. Questions? Reply to this email. ------------------------------------------- Benefits: - Formatted for readability - Clear CTA with full URL - Feels intentional, not auto-generated - Better spam score (shows care)

When to Manually Write Plain Text:

  • Promotional/marketing campaigns (always)
  • Transactional emails (order confirmations, receipts) (always)
  • Newsletter-style emails (always)
  • Auto-generated emails can use stripped HTML only if content is simple

When Subscribers See Plain Text

While most subscribers see your HTML version, a significant portion view plain text. Know when and why this happens.

Scenarios Where Plain Text is Rendered (30-40% of subscribers):

  • Corporate firewalls (10-15%) — Block images and HTML for security, force plain text rendering
  • Email client settings (5-10%) — Power users disable HTML rendering for privacy/security
  • Amazon Kindle email (2-3%) — Send-to-Kindle feature only accepts plain text
  • Old mail clients (1-2%) — Lotus Notes, older Thunderbird, legacy corporate email systems
  • Text-only mode (3-5%) — Users with accessibility needs, terminal email clients
  • Email client fails to render HTML (2-3%) — Broken HTML, unsupported CSS, rendering errors

Corporate Firewall Rendering: Many corporations use email gateway solutions that strip HTML for security. Users see plain text only. For corporate B2B emails, ensure plain text conveys the complete message — don't rely on HTML formatting.

Testing Plain Text Rendering: Most ESPs provide a "preview" option to see plain text version. Always review it before sending. Ask: "Does this make sense without any HTML formatting?"

Transactional Email Plain Text Best Practices

Transactional emails (order confirmations, password resets, receipts, shipping notifications) have higher importance and stricter requirements. A broken plain text part can make these emails unreadable.

Essential Info That MUST Appear in Plain Text:

  • Order/transaction number
  • Order date and total amount
  • Shipping address (for orders)
  • Important deadlines or expiration dates
  • Password reset link (full, unshortened URL)
  • Account credentials or access instructions
  • Unsubscribe link
  • Support contact information

Transactional Email Plain Text Example:

Order Confirmation #12345678 Order Date: April 11, 2026 Total: $99.99 Items Ordered: - Email Monitoring Pro Annual ($99.99) Billing Address: John Doe 123 Main St Anytown, NY 10001 Shipping Address: Will be emailed once processed Next Steps: Your order has been received. You will receive an email with login credentials within 1 hour. Questions? Contact us at: support@example.com 1-800-123-4567 --- InboxEagle https://example.com Unsubscribe: https://example.com/unsubscribe

Character Encoding in Plain Text:

  • Use UTF-8 encoding for plain text (same as HTML)
  • Keep to ASCII characters when possible (a-z, 0-9, basic punctuation)
  • Avoid: Unicode symbols (™, ©, →), smart quotes (", "), emojis
  • Reason: Not all email clients or corporate systems handle UTF-8 encoding correctly
  • If non-ASCII needed: Use ISO-8859-1 as fallback, but UTF-8 is preferred

Next in the Email Templates Series

Learn character encoding best practices and handling non-ASCII characters.

Character Encoding
Explore with AI

Open this content in your AI assistant for deeper analysis, or copy it as Markdown to paste anywhere.