What is multipart/alternative vs multipart/mixed?
Still have a question, spotted an error, or have a better explanation or a source we should cite?
When you send an email, you're not actually sending a single thing. You're sending a package that might contain multiple versions of your message (text and HTML), attachments, or both. multipart/alternative and multipart/mixed are MIME types that tell the receiving email client how to unpack that bundle.
multipart/alternative means you're offering the same content in multiple formats. The most common case: you send both a plain text version and an HTML version of your message. The recipient's email client picks one to display (usually HTML, but falls back to plain text if HTML isn't supported or the reader has images disabled). The key word is alternative. These are versions of the same thing, not separate items.
multipart/mixed means you're bundling different things together. A message body plus file attachments. A receipt email plus a PDF invoice. These are not alternatives to each other. They're distinct pieces of content packaged into one email.
You can combine them. An email with HTML and plain text versions plus a PDF attachment would use multipart/mixed as the outer wrapper, with a multipart/alternative section inside for the body. Most modern ESPs (Mailchimp, SendGrid, Postmark) handle this structure automatically when you upload an attachment or enable plain text fallback.
Why this matters for deliverability: spam filters check MIME structure. A missing plain text alternative can look suspicious (though it's rare to get filtered for that alone). More commonly, broken MIME boundaries or mismatched content types cause rendering failures. If your email shows up as blank or displays raw code, it's often a MIME structure error.
If you're debugging a rendering issue, check the raw email source with our Email Header Analyzer. Look for the Content-Type header at the top. It should match what's actually inside the message. You'll also see boundaries (random strings that separate parts of the message). If those are broken or inconsistent, that's your culprit.
Most senders never touch MIME structure directly. Your ESP builds it for you. But if you're using custom SMTP or building emails programmatically, getting this wrong will cause silent failures (emails that deliver but don't render). Test across multiple clients (Gmail, Outlook, Apple Mail) to catch MIME issues before they reach subscribers.
Contributors
Who worked on this answer
Every name links to their profile. Every company links to their site. Real people, real accountability.