Warum ist die E-Mail größer?
Denn die Daten werden verschlüsselt, base64
wobei Gruppen von bis zu drei Bytes als Gruppen von vier druckbaren ASCII-Zeichen codiert werden. Normalerweise werden diese Gruppen von druckbaren Zeichen in Zeilen aufgeteilt.
Das Ergebnis ist, dass die kodierten Daten etwas mehr als das 1-Fache der Größe der Originaldaten sind.
Warum wird base64 verwendet?
E-Mail hat eine lange Geschichte und wurde ursprünglich für Text entwickelt. Nur Bytewerte, die druckbare ASCII-Zeichen darstellen, können die vielfältigen E-Mail-Systeme auf der Welt zuverlässig passieren.
Daher hat MIME zwei Schemata für die Kodierung anderer Daten als ASCII-Text unterteilt - "quoted-printable", der für meist ASCII-Text mit einigen anderen Bits entwickelt wurde, und "BASE64" für beliebige binäre Daten.
Das SMTP-Protokoll wurde erweitert, um diese Einschränkungen zu beseitigen. Erstens, 8BITMIME aus dem Jahr 1994, das höhere Oktettwerte zuließ, aber leider keine Begrenzungen in Bezug auf Leitungslängen und Leitungsenden aufnahm, war also nicht für beliebige binäre Daten geeignet. und dann BINARYMIME im Jahr 1995, mit dem Nachrichten mit beliebigen binären Daten übertragen werden konnten.
Diese Standards haben jedoch keine breite Akzeptanz erfahren. Ein Problem ist, was passiert, wenn ein Hop in der Mail-Kette sie unterstützt, der nächste Hop jedoch nicht? Der Mail-Server kann die E-Mail dann nicht im Ist-Zustand senden, er muss sie entweder als nicht zustellbar zurückweisen und ablehnen (was für die Benutzer wahrscheinlich nicht akzeptabel ist), oder sie konvertieren (was erheblichen zusätzlichen Code im Mail-Server erfordert). . Die Konvertierung wird besonders schmerzhaft durch MIME-Regeln hinsichtlich der Nichtverwendung von Content-Transfer-Kodierungen auf mehrteiligen Typen.