Skip to main content

How are HTML and plain text emails structured using MIME?

Most marketing emails include both HTML and plain text versions using MIME's multipart/alternative structure. This ensures readable content regardless of the recipient's email client capabilities.

Structure example:

Content-Type: multipart/alternative; boundary="----=_boundary"

------=_boundary

Content-Type: text/plain; charset=UTF-8

[Plain text version]

------=_boundary

Content-Type: text/html; charset=UTF-8

[HTML version]

------=_boundary--

How it works:

The boundary string separates each content version

Parts are listed in order of increasing preference (plain text first, HTML last)

Email clients choose the "best" version they can display

Most modern clients show HTML; text-only clients or accessibility tools use plain text

Why include both:

Some recipients disable HTML for security

Screen readers may prefer plain text

Plain text fallback ensures message is always readable

Some spam filters check that both versions contain consistent content

ESPs typically auto-generate plain text from HTML, though manual versions often read better. Significant content differences between versions can appear suspicious to filters.