Wie in Verwenden MIME Kodierung
Codieren and decode MIME (Base64 with line breaks) for email attachments and multipart messages.
问题
You brauchen in attach ein binary Datei in ein email, welche requires MIME Base64 Kodierung mit spezifisch Zeile-Länge Regeln.
Voraussetzungen
- Basic understanding of email structure
- Familiarity with Base64
Schritte
-
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.
Eingabebinary attachment输出Base64 with CRLF every 76 chars -
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.
Eingabeimage.png输出Content-Type: image/png\nContent-Transfer-Encoding: base64\n\n<iVBOR...> -
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.
EingabeMIME part输出original file
Erwartetes Ergebnis
Ein gültig MIME part das email clients kann dekodieren und anzeigen als ein attachment.
Häufige Fehler
- 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.
Troubleshooting指引
- 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.
Sicherheitsgrenzen
- MIME encoding does not encrypt content. Use S/MIME or PGP for confidential attachments.