Warum ist die E-Mail größer?
Weil die Daten verschlüsselt sind, in base64
denen Gruppen von bis zu drei Bytes als Gruppen von vier druckbaren ASCII-Zeichen verschlüsselt sind . In der Regel werden diese Gruppen druckbarer Zeichen dann in Zeilen aufgeteilt.
Das Ergebnis ist, dass die codierten Daten etwas mehr als das 1⅓-fache der Größe der Originaldaten betragen.
Warum wird base64 verwendet?
E-Mail hat eine lange Geschichte und wurde ursprünglich für die Übertragung von Text entwickelt. Nur Bytewerte, die ASCII-druckbare Zeichen darstellen, können zuverlässig durch die Vielzahl von E-Mail-Systemen auf dem Planeten geleitet werden.
Deshalb hat MIME zwei Schemata zum Codieren anderer Daten als ASCII-Text unterteilt: "quoted-printable" für hauptsächlich ASCII-Text mit einigen anderen Bits und "BASE64" für beliebige Binärdaten.
Es wurden Erweiterungen des SMTP-Protokolls vorgenommen, um diese Einschränkungen zu beseitigen. Erstens war 8BITMIME im Jahr 1994, das höhere Oktettwerte erlaubte, jedoch leider keine Beschränkungen in Bezug auf Zeilenlängen und Zeilenenden aufhob, nicht für beliebige Binärdaten geeignet. und dann BINARYMIME im Jahr 1995, das die Übertragung von Nachrichten mit beliebigen Binärdaten ermöglichte.
Diese Standards fanden jedoch keine breite Anwendung. Ein Problem ist, was passiert, wenn ein Hop in der Mailkette sie unterstützt, der nächste Hop jedoch nicht? Der Mail-Server kann die E-Mail dann nicht wie besehen senden. Entweder muss er sie als unzustellbar ablehnen und bouncen (was für Benutzer wahrscheinlich nicht akzeptabel ist) oder konvertieren (was einen erheblichen zusätzlichen Code auf dem Mail-Server erfordert). . Die Konvertierung wird durch MIME-Regeln besonders schmerzhaft, da bei mehrteiligen Typen keine Inhaltsübertragungscodierungen verwendet werden.