1. MIME: Mehrzweck-Internet-Mail-Erweiterungen Das Online-Wörterbuch FOLDOC des Imperial College of Computer erklärt MIME wie folgt: „Ein Kodierungsstandard für mehrteilige Multimedia-E-Mails und WWW-Hypertexte, der zur Übertragung nicht-textueller Daten wie Grafiken, Ton und Fax verwendet wird. MIME ist in RFC1341 definiert und verwendet die MIMENCODE-Methode, um Binärdaten in eine Kombination aus Zeichen einer ASCII-Teilmenge namens BASE64 umzuwandeln.“ Es gibt im Internet eine Newsgroup, die sich speziell mit MIME befasst: comp.mail.mime. Die FAQ zu dieser Newsgroup sind unter der folgenden URL verfügbar: http://www.cis.ohio-state.edu/hypertext/faq/usenet/mail/mime-faq/mime0/faq.html MIMENCODE hieß zunächst MMENCODE. MIMENCODE wurde als Ersatz für UUENCODE vorgeschlagen, da UUENCODE einige Zeichen verwendet, die in einigen Mail-Gateways (insbesondere bei denen, die ASCII- und EBCDIC-Codes konvertieren) Übertragungsbarrieren verursachen. (Einige Software kann nicht alle UUENCODE-Algorithmen korrekt dekodieren, was zu Schwierigkeiten beim Lesen von E-Mails führt.) Daher wurde MIME als Ersatz für UUENCODE entwickelt, das Ergebnis ist jedoch, dass diese Protokolle nebeneinander bestehen. Vor der Einführung von MIME konnten mit RFC 822 nur grundlegende ASCII-Textinformationen gesendet werden. Es war sehr schwierig, Binärdateien, Sounds, Animationen usw. in den E-Mail-Inhalt einzubinden. MIME bietet eine Methode, um mehrere unterschiedlich codierte Dateien an E-Mails anzuhängen und so die Mängel des ursprünglichen Informationsformats auszugleichen. Tatsächlich ist MIME nicht nur eine E-Mail-Kodierung, sondern mittlerweile auch Teil des HTTP-Protokollstandards. 2. Einführung in die MIME-Kodierung Der ursprüngliche Grund für die Verschlüsselung von E-Mails lag darin, dass viele Gateways im Internet 8-Bit-codierte Zeichen, wie etwa chinesische Schriftzeichen, nicht korrekt übertragen konnten. Das Prinzip der Kodierung besteht darin, 8-Bit-Inhalte für eine korrekte Übertragung in eine 7-Bit-Form umzuwandeln und sie nach dem Empfang durch den Empfänger wieder in 8-Bit-Inhalte umzuwandeln. Vor dem MIME-Protokoll wurden zur E-Mail-Kodierung UUENCODE und andere Kodierungsmethoden verwendet. Aufgrund der Einfachheit des MIME-Protokollalgorithmus und seiner einfachen Erweiterbarkeit ist es jedoch mittlerweile die gängige E-Mail-Kodierungsmethode geworden. Es wird nicht nur zum Übertragen von 8-Bit-Zeichen verwendet, sondern auch zum Übertragen von Binärdateien wie Bildern, Audio und anderen Informationen in E-Mail-Anhängen und hat viele MIME-basierte Anwendungen erweitert. In Bezug auf die Kodierung definiert MIME zwei Kodierungsmethoden: Base64 und QP (Quote-Printable). 1. Base64-Kodierung Base64 ist eine universelle Methode und ihr Prinzip ist sehr einfach, nämlich drei Datenbytes mit vier Bytes auszudrücken. Von diesen vier Bytes werden nur die ersten 6 Bit tatsächlich verwendet. Es besteht daher kein Problem, nur 7-Bit-Zeichen übertragen zu können. Die Abkürzung für Base64 lautet im Allgemeinen „B“. Base64 kodiert die Eingabezeichenfolge oder ein Datenstück in eine Zeichenfolge, die nur 64 Zeichen enthält {'A'-'Z', 'a'-'z', '0'-'9', '+', '/'}, und '=' wird zum Auffüllen verwendet. Die Codierungsmethode besteht darin, jedes Mal 6 Bits des Eingabedatenstroms zu nehmen, den Wert dieser 6 Bits (0-63) als Index zum Nachschlagen in der Tabelle zu verwenden und das entsprechende Zeichen auszugeben. Auf diese Weise werden alle 3 Bytes als 4 Zeichen kodiert (3×8 → 4×6); die Zeichen unter 4 Zeichen werden mit „=“ aufgefüllt. In einigen Fällen wird „=?charset?B?xxxxxxxx?=“ verwendet, um anzuzeigen, dass xxxxxxxx Base64-codiert ist und der Zeichensatz des Originaltextes charset ist. Kodieren Sie direkt im Textkörper des Absatzes und brechen Sie die Zeile an den entsprechenden Stellen um. MIME empfiehlt maximal 76 Zeichen pro Zeile. Der Base64-Algorithmus ist sehr einfach. Er legt den Zeichenstrom sequenziell in einen 24-Bit-Puffer und füllt die fehlenden Zeichen mit Nullen auf. Der Puffer wird dann in 4 Teile gekürzt, mit dem höchsten Bit zuerst; jeder Teil besteht aus 6 Bits und wird mit 64 Zeichen neu dargestellt. Besteht die Eingabe nur aus einem oder zwei Bytes, wird die Ausgabe mit einem Gleichheitszeichen "=" aufgefüllt. Dadurch kann verhindert werden, dass die Kodierung durch zusätzliche Informationen überfüllt wird. So führen Sie eine Base64-Kodierung durch 2. QP-Codierung Eine weitere Methode ist die QP-Methode (Quote-Printable), die normalerweise als „Q“-Methode abgekürzt wird. Ihr Prinzip besteht darin, ein 8-Bit-Zeichen durch zwei Hexadezimalwerte darzustellen und dann davor ein „=“ hinzuzufügen. Wir können also sehen, dass die Datei nach der QP-Kodierung normalerweise so aussieht: =B3=C2=BF=A1=C7=E5=A3= AC=C4=FA=BA=C3=A3=A1. Quoted-printable kodiert den Eingabestring oder Bytebereich. Wenn Zeichen vorhanden sind, die nicht kodiert werden müssen, werden diese direkt ausgegeben. Wenn eine Kodierung erforderlich ist, geben Sie zuerst „=“ aus, gefolgt vom hexadezimalen Bytewert, der durch 2 Zeichen dargestellt wird. In einigen Fällen wird „=?charset?Q?xxxxxxxx?=“ verwendet, um anzuzeigen, dass xxxxxxxx eine Quoted-Printable-Kodierung ist und der Zeichensatz des Originaltextes charset ist. Im Textkörper des Absatzes kodieren Sie direkt, brechen die Zeile an der entsprechenden Stelle um und geben vor dem Zeilenumbruch ein zusätzliches '=' aus. 3. MIME-Header-Informationen Mail-Header Im E-Mail-Header gibt es viele Domänennamen, die aus RFC 822 übernommen wurden, und MIME fügt auch einige hinzu. Gängige Standarddomänennamen und ihre Bedeutungen sind wie folgt: Bedeutung des Domänennamens hinzugefügt von Empfangene Mailserver auf allen Ebenen des Übertragungsweges Return-Path-Antwortadresse Ziel-Mailserver Geliefert an Absenderadresse Ziel-Mailserver Reply-To Die Antwortadresse des Erstellers der E-Mail Von: Die Absenderadresse ist die des Erstellers der E-Mail. An Empfängeradresse Der Ersteller der E-Mail Cc-Adresse Der Ersteller der E-Mail Bcc Der Ersteller der Blindkopieadresse Datum: Datum und Uhrzeit der Erstellung der Nachricht Betreff Der Autor der E-Mail Message-ID Nachrichten-ID Der Ersteller der E-Mail MIME-Version MIME-Version des Nachrichtenerstellers Content-Type Der Inhaltstyp des E-Mail-Erstellers Content-Transfer-Encoding Methode zur Kodierung der Inhaltsübertragung Der Ersteller der E-Mail Nicht standardmäßige, benutzerdefinierte Domänennamen beginnen alle mit X-, wie beispielsweise X-Mailer, X-MSMail-Priority usw. Ihre Bedeutung wird normalerweise nur verstanden, wenn das Programm, das E-Mails empfängt und sendet, dasselbe ist. Abschnittsüberschrift Im Segmentkopf gibt es etwa folgende Felder: Bedeutung des Domänennamens Content-Type Der Typ des Hauptteils Content-Transfer-Encoding Die Übertragungscodierungsmethode des Segmentkörpers Inhaltsanordnung: So ordnen Sie den Hauptteil eines Absatzes an Content-ID Die ID des Segments Content-Location Der Ort (Pfad) des Körpers Content-Base Die Basisposition des Absatzes Einige Felder haben zusätzlich zu den Werten auch Parameter. Werte und Parameter sowie Parameter und Parameter werden durch ";" getrennt. Parametername und Parameterwert werden durch "=" getrennt. 1.MIME-Version Gibt die Versionsnummer des verwendeten MIME an, normalerweise 1.0; wie: MIME-Version: 1.0 2. Inhaltstyp Content-Type definiert den Typ des Textkörpers. Wir verwenden diesen Bezeichner, um zu wissen, welcher Dateityp im Textkörper enthalten ist. Beispiel: text/plain bedeutet unformatierter Text, text/html bedeutet HTML-Dokument, image/gif bedeutet Bild im GIF-Format und so weiter. Der Inhaltstyp liegt in der Form „Haupttyp/Untertyp“ vor. Die Haupttypen sind Text, Bild, Audio, Video, Anwendung, Multipart, Nachricht usw., die jeweils Text, Bild, Audio, Video, Anwendung, Segment, Nachricht usw. darstellen. Jeder Haupttyp kann mehrere Untertypen haben, beispielsweise enthält der Texttyp einfache, HTML-, XML-, CSS- und andere Untertypen. Haupttypen und Untertypen, die mit X- beginnen, bezeichnen auch benutzerdefinierte Typen, die nicht offiziell bei der IANA registriert sind, aber größtenteils bereits allgemein verwendet werden. Beispielsweise ist application/x-zip-compressed ein ZIP-Dateityp. Unter Windows sind die meisten bekannten Inhaltstypen außer „multipart“ in der Registrierungsliste „HKEY_CLASSES_ROOT\MIME\Database\Content Type“ aufgeführt. Es gibt viele zusätzliche Bestimmungen im RFC bezüglich der Form von Parametern. Einige erlauben mehrere Parameter. Die gebräuchlichsten sind: Bedeutung des Haupttypparameternamens Text-Zeichensatz Bildname Anwendungsname mehrteilige Grenze mehrteiliger Typ In E-Mails häufig verwendeter zusammengesetzter Typ: „multipart“. Der Typ „multipart“ gibt an, dass der Text aus mehreren Teilen besteht, und die folgenden Untertypen beschreiben die Beziehung zwischen diesen Teilen. Die drei in E-Mails verwendeten Typen sind: (1).multipart/alternative: Gibt an, dass der Nachrichtentext aus zwei Teilen besteht und Sie einen davon auswählen können. Die Hauptfunktion besteht darin, dass Sie, wenn der Aufsatz sowohl im Text- als auch im HTML-Format vorliegt, einen der beiden Texte zur Anzeige auswählen können. E-Mail-Client-Software, die das HTML-Format unterstützt, zeigt im Allgemeinen den HTML-Text an, während E-Mail-Client-Software, die das HTML-Format nicht unterstützt, den Text-Text anzeigt. (2).multipart/mixed: Zeigt an, dass mehrere Teile des Dokuments gemischt sind, und bezieht sich auf die Beziehung zwischen Haupttext und Anhängen. Wenn der MIME-Typ der E-Mail „Multipart/Mixed“ ist, bedeutet dies, dass die E-Mail Anhänge hat. (3).multipart/related: Gibt an, dass mehrere Teile eines Dokuments miteinander in Beziehung stehen. Wird im Allgemeinen verwendet, um den HTML-Text und die zugehörigen Bilder zu beschreiben. Der Multipart-Typ ist das Wesentliche von MIME-E-Mails. Der E-Mail-Text ist in mehrere Abschnitte unterteilt, wobei jeder Abschnitt aus zwei Teilen besteht: Abschnittskopfzeile und Abschnittstext, und diese beiden Teile sind ebenfalls durch Leerzeilen getrennt. Die hierarchische Beziehung zwischen ihnen kann wie in der folgenden Abbildung zusammengefasst werden: +------------------------- mehrteilig/gemischt -----------------------------+ | | | +------------------mehrteilig/verwandt ------------------+ | | | | | | | +----- mehrteilig/alternativ ------+ +----------+ | +------+ | | | | | | Eingebettete Ressourcen| | | Anhänge| | | | | +------------+ +------------+ | +----------+ | +------+ | | | | | Reiner Textkörper| | Hypertextkörper| | | | | | | +------------+ +------------+ | +----------+ | +------+ | | | | | | Eingebettete Ressourcen| | | Anhänge| | | | +----------------------------------+ +----------+ | +------+ | | | | | | +------------------------------------------------------+ | | | +----------------------------------------------------------------------+ Es ist ersichtlich, dass Sie das Segment „multipart/mixed“ definieren müssen, wenn Sie der E-Mail Anhänge hinzufügen möchten. Wenn eingebettete Ressourcen vorhanden sind, muss mindestens das Segment „multipart/related“ definiert werden. Wenn einfacher Text und Hypertext koexistieren, muss mindestens das Segment „multipart/alternative“ definiert werden. Was ist „zumindest“? Wenn beispielsweise nur einfacher Text und ein Hypertext-Textkörper vorhanden sind, ist die Erweiterung des Typs im E-Mail-Header zulässig, um ihn als „multipart/related“ oder sogar „multipart/mixed“ zu definieren. Das gemeinsame Merkmal mehrteiliger Typen besteht darin, dass die Parameterzeichenfolge „Grenze“ im Segmentkopf angegeben wird und jedes Untersegment im Segmenthauptteil durch diese Zeichenfolge abgegrenzt wird. Alle Untersegmente beginnen mit einer "--" + Begrenzungslinie, und das übergeordnete Segment endet mit einer "--" + Begrenzung + "--" Linie. Absätze werden zudem durch Leerzeilen getrennt. Bei einem mehrteiligen Nachrichtentext können am Anfang des Nachrichtentexts (vor der ersten "--" + Begrenzungszeile) einige zusätzliche Textzeilen stehen, die Kommentaren entsprechen und beim Dekodieren ignoriert werden sollten. Zwischen den Absätzen können auch einige zusätzliche Textzeilen stehen, die nicht angezeigt werden. Diese zusammengesetzten Typen können verschachtelt werden. Wenn eine E-Mail beispielsweise einen Anhang und einen Textkörper sowohl im HTML- als auch im Textformat hat, sieht die Struktur der E-Mail folgendermaßen aus: Inhaltstyp: mehrteilig/gemischt Teil 1: Inhaltstyp: mehrteilig/alternativ: Text: Text im HTML-Format Teil 2: Anhang Mail-Terminator; Da der zusammengesetzte Typ aus mehreren Teilen besteht, wird ein Trennzeichen benötigt, um die mehreren Teile zu trennen. Dies wird durch die Grenze in der obigen E-Mail-Quelldatei beschrieben. Für jeden Inhalt des Contect-Typs :multipart/* gibt es eine solche Beschreibung, um die Trennung zwischen mehreren Teilen anzuzeigen. Wenn Sie sich den Quellcode einer MIME/BASE64-codierten E-Mail ansehen, wird dieser im Allgemeinen einen Satz wie „Dies ist eine mehrteilige Nachricht im MIME-Format.“ enthalten. Es kann auch von den meisten E-Mail-Programmen dekodiert werden, darunter Netscape, MS Mail, Eudora usw. Diese Programme können den Textkörper der E-Mail korrekt identifizieren und die MIME/BASE64-codierten Teile in den richtigen Text bzw. in die angehängten Binärdateien umwandeln. 3. Content-Transfer-Kodierung Es gibt an, wie dieser Teil des Dokuments codiert ist. Nur durch Erkennen dieser Beschreibung ist eine Dekodierung mit dem richtigen Dekodierungsverfahren möglich. Es gibt verschiedene Arten der Content-Transfer-Encoding, darunter Base64, Quoted-Printable, 7 Bit, 8 Bit, Binär usw. Unter diesen ist 7 Bit die Standardcodierungsmethode. Der E-Mail-Quellcode wurde ursprünglich in der Form eines vollständig druckbaren ASCII-Codes entwickelt. Nicht-ASCII-Text oder -Daten müssen in das erforderliche Format kodiert werden. Base64, Quoted-Printable ist die am weitesten verbreitete Kodierungsmethode in nicht-englischsprachigen Ländern. Die binäre Methode ist nur symbolisch und hat keinen praktischen Wert. 4. Grenze Dieses Trennzeichen ist eine Kombination aus alten Zeichen, die nicht im Text vorkommen dürfen. Im Dokument wird "--" plus diese Begrenzung verwendet, um den Beginn eines Abschnitts anzuzeigen. Am Ende des Dokuments werden "--" plus Begrenzung und dann "--" am Ende verwendet, um das Ende des Dokuments anzuzeigen. Da zusammengesetzte Typen verschachtelt werden können, kann es in einer E-Mail mehrere Grenzen geben. |
<<: Anzeigemodus von Elementen in CSS
1. Ordner löschen Beispiel: rm -rf /usr/java Das ...
Vorwort Das MySQL-Modul (Projektadresse ist https...
<Text> <div id="Wurzel"> &l...
Inhaltsverzeichnis Vorwort brauchen erreichen Ers...
Dieser Artikel stellt hauptsächlich die Implement...
In diesem Artikel wird der spezifische Code für R...
Inhaltsverzeichnis Hintergrund Zweck Vor der Spal...
Binlog ist eine binäre Protokolldatei, die alle M...
1. Installationsprozess MySQL-Version: 5.7.18 1. ...
Konvertierung zwischen RGBA- und Filterwerten unt...
CUDA-Installation, cuda herunterladen Geben Sie d...
Verwenden Sie CSS3, um das Eingabefeld ähnlich de...
Bevor wir Docker offiziell verwenden, machen wir ...
1. Inline-Referenz: Wird direkt auf dem Etikett v...
Quelle: http://www.ruoyi.vip/ Vue von „vue“ impor...