What is the “MIME-Version” header?
Still have a question, spotted an error, or have a better explanation or a source we should cite?
The MIME-Version header tells the receiving mail server which MIME standard the message follows. It's almost always MIME-Version: 1.0. This header signals that the email can contain multiple parts (text, HTML, images, attachments) instead of just plain text.
MIME stands for Multipurpose Internet Mail Extensions. Before MIME, email was plain text only. No formatting, no attachments, no images. MIME changed that by introducing a way to structure email into parts. One part could be plain text, another could be HTML, and another could be an attachment. The receiving system reads the MIME-Version header first to know it should parse the message as a structured multipart document instead of treating everything as raw text.
The version has been 1.0 since 1992 and has never changed. That's not because email stopped evolving. It's because MIME is flexible enough that new features get added through other headers (like Content-Type) rather than through version bumps. So MIME-Version: 1.0 is really just a flag that says "this message follows MIME rules."
Do you need to set this header manually? Almost never. Every modern ESP and mail library adds it automatically. Mailchimp, SendGrid, Postmark, HubSpot, even your Gmail client. They all add MIME-Version: 1.0 to outgoing messages without you touching it.
The only time you'd manually add it is if you're building raw SMTP messages from scratch in code. If that's you, just set MIME-Version: 1.0 at the top of your headers and move on. Don't overthink it.
Why does this header matter for deliverability? It doesn't directly affect whether your email lands in the inbox. But if it's missing and your message contains multipart content, some older mail servers might not parse the structure correctly. The result: broken formatting, missing images, or attachments that don't render. Modern mail servers are forgiving and will usually handle it anyway, but why risk it?
But if you're debugging a delivery issue and want to check whether MIME-Version is present, view the raw source of any email you've sent. You can do this in most inboxes by looking for "Show original" or "View source." The MIME-Version header should appear near the top, right after headers like From, To, and Subject. If it's missing and your email has attachments or HTML, that's a sign your sending system isn't formatting messages correctly. Worth checking with your ESP or developer.
One more thing: if you see MIME-Version: 2.0 in an email header, something is very wrong. That version doesn't exist. It's either a misconfigured system or someone hand-coding headers incorrectly. Stick with 1.0.
Contributors
Who worked on this answer
Every name links to their profile. Every company links to their site. Real people, real accountability.