跳到主要内容
uencoder

如何Use MIME Encoding

编码 and decode MIME (Base64 with line breaks) for email attachments and multipart messages.

问题

你需要attach 二进制 file 到 email, 哪个 requires MIME Base64 编码具有特定行-长度 rules.

前置条件

  • 基础 understanding 的 email 结构
  • 熟悉Base64

步骤

  1. 1. Understand MIME line wrapping

    MIME Base64 inserts a CRLF line break every 76 characters. This is required by RFC 2045 for email transport. Standard Base64 encoders may not add these breaks, so you must use a MIME-aware encoder.

    输入
    binary attachment
    输出
    Base64 with CRLF every 76 chars
  2. 2. Add MIME headers

    Wrap the encoded data with Content-Type, Content-Transfer-Encoding: base64, and Content-Disposition headers. These tell the email client how to decode and present the attachment.

    输入
    image.png
    输出
    Content-Type: image/png\nContent-Transfer-Encoding: base64\n\n<iVBOR...>
  3. 3. Decode on the receiving end

    A MIME parser reads the headers, strips the CRLF line breaks from the Base64 body, and decodes it back to the original binary. Use a MIME decoder rather than a raw Base64 decoder to handle the line breaks automatically.

    输入
    MIME part
    输出
    original file

预期结果

有效 MIME 部分该 email clients 能够解码和 display as attachment.

常见错误

Email client shows corrupted attachment
Ensure line breaks are CRLF (\r\n), not just LF. Some servers reject bare LF.
Decoder fails on the MIME body
Strip all whitespace and CRLF before passing to a raw Base64 decoder, or use a MIME-specific decoder.

排障指引

  • If the attachment is truncated, check that your mail server does not have a line-length limit below 76.
  • Verify the Content-Transfer-Encoding header matches the actual encoding used.

安全限制

  • MIME encoding does not encrypt content. Use S/MIME or PGP for confidential attachments.

相关工具

相关词条

参考链接