Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Senden von Roh-E-Mails mit Amazon SES API v2
Sie können den Amazon SES API SendEmail
v2-Vorgang mit dem angegebenen Inhaltstyp verwendenraw
, um benutzerdefinierte Nachrichten im unformatierten E-Mail-Format an Ihre Empfänger zu senden.
Über E-Mail-Header-Felder
Das Simple Mail Transfer Protocol (SMTP) legt fest, wie E-Mail-Nachrichten gesendet werden sollen, indem es den E-Mail-Umschlag und einige seiner Parameter definiert, aber es befasst sich nicht mit dem Inhalt der Nachricht. Stattdessen definiert das Internet Message Format (RFC5322
Mit der Spezifikation für das Internet-Nachrichtenformat besteht jede E-Mail-Nachricht aus einem Header und einem Text. Der Header besteht aus Metadaten der Nachrichten und der Körper enthält die Nachricht selbst. Weitere Informationen über E-Mail-Header und -Texte finden Sie unter E-Mail-Format und Amazon SES.
Verwenden MIME
Das SMTP Protokoll wurde ursprünglich für den Versand von E-Mail-Nachrichten entwickelt, die nur ASCII 7-Bit-Zeichen enthielten. Diese Spezifikation ist nicht SMTP ausreichend für Kodierungen ohne ASCII Text (wie Unicode), binäre Inhalte oder Anlagen. Der Standard für Multipurpose Internet Mail Extensions (MIME) wurde entwickelt, um das Senden vieler anderer Arten von Inhalten zu ermöglichen. SMTP
Der MIME Standard funktioniert, indem er den Nachrichtentext in mehrere Teile aufteilt und dann spezifiziert, was mit den einzelnen Teilen geschehen soll. Beispielsweise kann ein Teil eines E-Mail-Nachrichtentexts aus reinem Text bestehen, während es sich bei einem anderen Teil um reinen Text handeln könnteHTML. MIMEErmöglicht außerdem, dass E-Mail-Nachrichten einen oder mehrere Anlagen enthalten. Die Empfänger der Nachricht können die Anlagen innerhalb ihrer E-Mail-Clients anzeigen oder die Anlagen speichern.
Der E-Mail-Header und die Inhalte werden durch eine Leerzeile getrennt. Jeder Teil der E-Mail wird durch einen Rahmen getrennt, eine Zeichenfolge, die den Anfang und das Ende jedes Teils markiert.
Die mehrteilige Nachricht im folgenden Beispiel enthält einen Text und einen HTML Teil sowie eine Anlage. Der Anhang sollte, wie in diesem Beispiel gezeigt, direkt unter den Anhangsüberschriften platziert werden und wird meistens in base64
codiert.
From: "Sender Name" <sender@example.com> To: recipient@example.com Subject: Customer service contact info Content-Type: multipart/mixed; boundary="a3f166a86b56ff6c37755292d690675717ea3cd9de81228ec2b76ed4a15d6d1a" --a3f166a86b56ff6c37755292d690675717ea3cd9de81228ec2b76ed4a15d6d1a Content-Type: multipart/alternative; boundary="sub_a3f166a86b56ff6c37755292d690675717ea3cd9de81228ec2b76ed4a15d6d1a" --sub_a3f166a86b56ff6c37755292d690675717ea3cd9de81228ec2b76ed4a15d6d1a Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable Please see the attached file for a list of customers to contact. --sub_a3f166a86b56ff6c37755292d690675717ea3cd9de81228ec2b76ed4a15d6d1a Content-Type: text/html; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable <html> <head></head> <body> <h1>Hello!</h1> <p>Please see the attached file for a list of customers to contact.</p> </body> </html> --sub_a3f166a86b56ff6c37755292d690675717ea3cd9de81228ec2b76ed4a15d6d1a-- --a3f166a86b56ff6c37755292d690675717ea3cd9de81228ec2b76ed4a15d6d1a Content-Type: text/plain; name="customers.txt" Content-Description: customers.txt Content-Disposition: attachment;filename="customers.txt"; creation-date="Sat, 05 Aug 2017 19:35:36 GMT"; Content-Transfer-Encoding: base64 SUQsRmlyc3ROYW1lLExhc3ROYW1lLENvdW50cnkKMzQ4LEpvaG4sU3RpbGVzLENhbmFkYQo5MjM4 OSxKaWUsTGl1LENoaW5hCjczNCxTaGlybGV5LFJvZHJpZ3VleixVbml0ZWQgU3RhdGVzCjI4OTMs QW5heWEsSXllbmdhcixJbmRpYQ== --a3f166a86b56ff6c37755292d690675717ea3cd9de81228ec2b76ed4a15d6d1a--
Der Inhaltstyp für die Nachricht ist multipart/mixed
. Dieser gibt an, dass die Nachricht viele Teile hat (in diesem Beispiel einen Text und eine Anlage), und der empfangende Client muss jedes Teil getrennt handhaben.
Verschachtelt in den Körperabschnitt ist eine zweite Komponente, die den multipart/alternative
-Inhaltstyp verwendet. Dieser Inhaltstyp gibt an, dass jeder Teil alternative Versionen desselben Inhalts enthält (in diesem Fall eine Textversion und eine HTML Version). Wenn der E-Mail-Client des Empfängers HTML Inhalt anzeigen kann, wird die HTML Version des Nachrichtentexts angezeigt. Wenn der E-Mail-Client des Empfängers keinen HTML Inhalt anzeigen kann, wird die Nur-Text-Version des Nachrichtentexts angezeigt.
Beide Versionen der Nachricht enthalten außerdem eine Anlage (in diesem Fall eine kurze Textdatei mit einigen Kundennamen).
Wenn Sie einen MIME Teil in einem anderen Teil verschachteln, wie in diesem Beispiel, muss der verschachtelte Teil einen boundary
Parameter verwenden, der sich von dem boundary
Parameter im übergeordneten Teil unterscheidet. Diese Grenzen sollten eindeutige Zeichenfolgen sein. Um eine Grenze zwischen MIME Teilen zu definieren, geben Sie zwei Bindestriche (--) gefolgt von der Grenzzeichenfolge ein. Fügen Sie am Ende eines MIME Teils zwei Bindestriche sowohl am Anfang als auch am Ende der Grenzzeichenfolge ein.
Anmerkung
Eine Nachricht darf nicht mehr als 500 MIME Teile enthalten.
MIMEKodierung
Um die Kompatibilität mit älteren Systemen aufrechtzuerhalten, beachtet Amazon SES die ASCII 7-Bit-Beschränkung von, SMTP wie sie in RFC 2821 definiert ist.
E-Mail-Adressen
Die Zeichenfolge für die E-Mail-Adresse muss 7-Bit sein. ASCII Wenn Sie E-Mails an oder von Adressen mit Unicode-Zeichen im Domänenteil der Adresse senden möchten, müssen Sie die Domäne über Punycode codieren. Punycode ist weder im lokalen Teil der E-Mail-Adresse (das ist der Teil vor dem @-Zeichen) noch im "friendly from"-Namen zulässig. Wenn Sie Unicode-Zeichen im Namen des Absenders verwenden möchten, müssen Sie den Namen des Absendernamens mithilfe der Syntax für MIME kodierte Wörter kodieren, wie unter beschrieben. Senden von Roh-E-Mails mit Amazon SES API v2 Weitere Informationen zu Punycode finden Sie unter 3492. RFC
Anmerkung
Diese Regel gilt nur für E-Mail-Adressen, die Sie im Umschlag der Nachricht angeben, nicht für die Nachrichten-Header. Wenn Sie den Amazon SES API SendEmail
v2-Vorgang verwenden, definieren die Adressen, die Sie in den Destinations
Parametern Source
und und angeben, den Absender bzw. die Empfänger des Umschlags.
E-Mail-Header
Um eine Nachrichtenkopfzeile zu kodieren, verwenden Sie die Syntax mit MIME codierten Wörtern. MIMEDie Syntax kodierter Wörter verwendet das folgende Format:
=?
charset
?encoding
?encoded-text
?=
Der Wert von
kann encoding
Q
oder B
sein. Wenn der Wert der Codierung Q
ist, dann muss der Wert von
Q-Codierung verwenden. Wenn der Wert der Codierung encoded-text
B
ist, dann muss der Wert von
base64-Codierung verwenden.encoded-text
Zum Beispiel, wenn Sie die Zeichenfolge „Як ти поживаєш?“ verwenden möchten In der Betreffzeile einer E-Mail können Sie eine der folgenden Codierungen verwenden:
-
Q-Codierung
=?utf-8?Q?=D0=AF=D0=BA_=D1=82=D0=B8_=D0=BF=D0=BE=D0=B6=D0=B8=D0=B2=D0=B0=D1=94=D1=88=3F?=
-
Base64-Codierung
=?utf-8?B?0K/QuiDRgtC4INC/0L7QttC40LLQsNGU0Yg/?=
Weitere Informationen zur Q-Kodierung finden Sie unter RFC 2047.
Nachrichtentext
Um den Nachrichtentext zu codieren, können Sie Quoted-Printable-Codierung oder base64-Codierung verwenden. Verwenden Sie danach den Content-Transfer-Encoding
-Header, um anzugeben, welche Codierungsschema Sie verwendet haben.
Angenommen, der Text Ihrer Nachricht enthält den folgenden Text:
१९७२ मे रे टॉमलिंसन ने पहला ई-मेल संदेश भेजा | रे टॉमलिंसन ने ही सर्वप्रथम @ चिन्ह का चयन किया और इन्ही को ईमेल का आविष्कारक माना जाता है
Wenn Sie diesen Text mit base64-Codierung codieren, geben Sie zuerst den folgenden Header ein:
Content-Transfer-Encoding: base64
Schließen Sie dann im Körperabschnitt der E-Mail den base64-codierten Text ein:
4KWn4KWv4KWt4KWoIOCkruClhyDgpLDgpYcg4KSf4KWJ4KSu4KSy4KS/4KSC4KS44KSoIOCkqOCl hyDgpKrgpLngpLLgpL4g4KSILeCkruClh+CksiDgpLjgpILgpKbgpYfgpLYg4KSt4KWH4KSc4KS+ IHwg4KSw4KWHIOCkn+ClieCkruCksuCkv+CkguCkuOCkqCDgpKjgpYcg4KS54KWAIOCkuOCksOCl jeCkteCkquCljeCksOCkpeCkriBAIOCkmuCkv+CkqOCljeCkuSDgpJXgpL4g4KSa4KSv4KSoIOCk leCkv+Ckr+CkviDgpJTgpLAg4KSH4KSo4KWN4KS54KWAIOCkleCliyDgpIjgpK7gpYfgpLIg4KSV 4KS+IOCkhuCkteCkv+Ckt+CljeCkleCkvuCksOCklSDgpK7gpL7gpKjgpL4g4KSc4KS+4KSk4KS+ IOCkueCliAo=
Anmerkung
In einigen Fällen können Sie 8-Bit Content-Transfer-Encoding
in Nachrichten verwenden, die Sie über Amazon SES versenden. Wenn Amazon jedoch Änderungen an Ihren Nachrichten vornehmen SES muss (z. B. wenn Sie das Öffnen- und Klick-Tracking verwenden), werden 8-Bit-kodierte Inhalte möglicherweise nicht korrekt angezeigt, wenn sie in den Posteingängen der Empfänger ankommen. Aus diesem Grund sollten Sie immer Inhalte verschlüsseln, die kein 7-Bit-Format haben. ASCII
Dateianhänge
Um eine Datei an eine E-Mail anfügen zu können, müssen Sie die Anlage mit base64-Codierung codieren. Anlagen werden normalerweise in speziellen MIME Nachrichtenteilen platziert, die die folgenden Kopfzeilen enthalten:
-
Inhaltstyp – der Dateityp der Anlage. Im Folgenden finden Sie Beispiele für gängige MIME Content-Type-Deklarationen:
-
Reine Textdatei –
Content-Type: text/plain; name="sample.txt"
-
Microsoft Word-Dokument –
Content-Type: application/msword; name="document.docx"
-
JPGBild —
Content-Type: image/jpeg; name="photo.jpeg"
-
-
Inhaltsanordnung – gibt an, wie der E-Mail-Client des Empfängers die Inhalte anordnen soll. Für Anlagen ist dieser Wert
Content-Disposition: attachment
. -
Inhaltsübertragungscodierung – das Schema, das zum Codieren der Anlage verwendet wurde. Für Dateianlagen ist dieser Wert fast immer
base64
. -
Der codierte Anhang – Sie müssen den eigentlichen Anhang, wie im Beispiel gezeigt, codieren und ihn in den Text unter den Anhangsüberschriften einfügen.
Amazon SES akzeptiert die gängigsten Dateitypen. Eine Liste der Dateitypen, die Amazon nicht SES akzeptiert, finden Sie unterAmazon SES unterstützt keine Anhangstypen.
Senden von Roh-E-Mails mit Amazon SES API v2
Amazon SES API v2 bietet die SendEmail
Aktion, mit der Sie eine E-Mail-Nachricht in dem Format verfassen und senden können, das Sie angeben, wenn Sie den Inhaltstyp auf Einfach, Rohformat oder Vorlage festlegen. Eine vollständige Beschreibung finden Sie unter SendEmail
. Im folgenden Beispiel wird der Inhaltstyp für raw
das Senden von Nachrichten im unformatierten E-Mail-Format angegeben.
Anmerkung
Tipps zur Erhöhung der E-Mail-Sendegeschwindigkeit bei mehreren SendEmail
-Aufrufen finden Sie unter Erhöhen des Durchsatzes mit Amazon SES.
Der Nachrichtentext muss eine ordnungsgemäß formatierte Raw-E-Mail-Nachricht mit entsprechenden Header-Feldern und Nachrichtentext-Codierung enthalten. Obwohl es möglich ist, die unformatierte Nachricht manuell in einer Anwendung zu verfassen, ist es wesentlich einfacher, dies mithilfe von vorhandenen E-Mail-Bibliotheken zu tun.