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 E-Mails über Amazon SES mithilfe eines AWS SDK
Sie können ein AWS SDK verwenden, um E-Mails über Amazon SES zu versenden. AWS SDKs sind für mehrere Programmiersprachen verfügbar. Weitere Informationen finden Sie unter Tools für Amazon Web Services
Voraussetzungen
Folgende Voraussetzungen müssen erfüllt sein, um die Codebeispiele im nächsten Abschnitt auszufüllen:
-
Sofern noch nicht geschehen, führen die Schritte unter au Amazon Simple Email Service einrichten.
-
Verifizieren Sie Ihre E-Mail-Adresse mit Amazon SES – Bevor Sie E-Mails mit &SES; senden können, müssen Sie den Besitz der Absender-E-Mail-Adresse nachweisen. Befindet sich Ihr Konto noch in der Amazon SES Sandbox, müssen Sie auch die E-Mail-Adresse des Empfängers verifizieren. Wir empfehlen Ihnen, die Amazon SES Konsole zu verwenden, um E-Mail-Adressen zu verifizieren. Weitere Informationen finden Sie unter Erstellen einer E-Mail-Adressidentität.
-
Holen Sie sich Ihre AWS Anmeldeinformationen — Sie benötigen eine AWS Zugriffsschlüssel-ID und einen AWS geheimen Zugriffsschlüssel, um mit einem SDK auf Amazon SES zuzugreifen. Sie erhalten Ihre Anmeldeinformationen über die Seite Security Credentials
(Sicherheitsanmeldeinformationen) in der AWS Management Console. Weitere Informationen zu Anmeldeinformationen finden Sie unter Arten von Amazon-SES-Anmeldeinformationen. -
Erstellen einer gemeinsamen Anmeldeinformationsdatei – Damit der Beispiel-Code in diesem Abschnitt ordnungsgemäß funktioniert, müssen Sie eine gemeinsame Anmeldeinformationsdatei erstellen. Weitere Informationen finden Sie unter Erstellen einer gemeinsamen Anmeldeinformationsdatei zur Verwendung beim Senden von E-Mails über Amazon SES mithilfe eines AWS SDK.
Codebeispiele
Wichtig
In diesem Tutorial senden Sie eine E-Mail an sich selbst, um zu prüfen, ob diese bei Ihnen ankommt. Für weitere Experimente oder Lasttests nutzen Sie den Amazon SES-Postfachsimulator. E-Mails, die Sie an den Postfachsimulator senden, zählen nicht zu Ihrer Sendequote oder Ihre Unzustellbarkeits- und Beschwerderate. Weitere Informationen finden Sie unter Manuelles Verwenden des Postfachsimulators.
Wählen Sie eine Programmiersprache aus, um das Beispiel für diese Sprache anzuzeigen:
- .NET
-
Im folgenden Verfahren wird beschrieben, wie Sie mit Amazon SES eine E-Mail über Visual Studio
und AWS SDK for .NET senden. Diese Lösung wurde mit folgenden Komponenten getestet:
-
Microsoft Visual Studio Community 2017, Version 15.4.0.
-
Microsoft .NET Framework, Version 4.6.1.
-
Das AWSSDK .Core-Paket (Version 3.3.19), installiert mit. NuGet
-
AWSSDKDas. SimpleEmail Paket (Version 3.3.6.1), installiert mit. NuGet
Führen Sie vor Beginn die folgenden Schritte durch:
-
Visual Studio installieren — Visual Studio ist unter/verfügbar. https://www.visualstudio.com
Um eine E-Mail mit dem zu senden AWS SDK for .NET
-
Führen Sie die folgenden Schritte aus, um ein neues Projekt zu erstellen:
-
Starten Sie Visual Studio.
-
Wählen Sie im Menü File (Datei) New (Neu), Project (Projekt) aus.
-
Erweitern Sie im linken Bereich des Fensters New Project (Neues Projekt) die Einträge Installed (Installiert) und Visual C#.
-
Wählen Sie im rechten Bereich Konsolen-App (.NET Framework) aus.
-
Geben Sie unter Name
AmazonSESSample
ein und klicken Sie auf OK.
-
-
Verwenden Sie diese Option NuGet , um die Amazon SES SES-Pakete in Ihre Lösung aufzunehmen, indem Sie die folgenden Schritte ausführen:
-
Klicken Sie im Solution Explorer-Bereich mit der rechten Maustaste auf Ihr Projekt und wählen Sie dann NuGet Pakete verwalten.
-
Wählen Sie auf der SESSample Registerkarte NuGet: Amazon die Option Durchsuchen aus.
-
Geben Sie in das Suchfeld
AWSSDK.SimpleEmail
ein. -
Wählen Sie die AWSSDK. SimpleEmailPaket und wählen Sie dann Installieren.
-
Klicken Sie im Fenster Preview Changes (Vorschau der Änderungen) auf OK.
-
-
Fügen Sie auf der Registerkarte Program.cs folgenden Code hinzu:
using Amazon; using System; using System.Collections.Generic; using Amazon.SimpleEmail; using Amazon.SimpleEmail.Model; namespace AmazonSESSample { class Program { // Replace sender@example.com with your "From" address. // This address must be verified with Amazon SES. static readonly string senderAddress = "
sender@example.com
"; // Replace recipient@example.com with a "To" address. If your account // is still in the sandbox, this address must be verified. static readonly string receiverAddress = "recipient@example.com
"; // The configuration set to use for this email. If you do not want to use a // configuration set, comment out the following property and the // ConfigurationSetName = configSet argument below. static readonly string configSet = "ConfigSet
"; // The subject line for the email. static readonly string subject = "Amazon SES test (AWS SDK for .NET)"; // The email body for recipients with non-HTML email clients. static readonly string textBody = "Amazon SES Test (.NET)\r\n" + "This email was sent through Amazon SES " + "using the AWS SDK for .NET."; // The HTML body of the email. static readonly string htmlBody = @"<html> <head></head> <body> <h1>Amazon SES Test (AWS SDK for .NET)</h1> <p>This email was sent with <a href='https://aws.amazon.com/ses/'>Amazon SES</a> using the <a href='https://aws.amazon.com/sdk-for-net/'> AWS SDK for .NET</a>.</p> </body> </html>"; static void Main(string[] args) { // Replace USWest2 with the AWS Region you're using for Amazon SES. // Acceptable values are EUWest1, USEast1, and USWest2. using (var client = new AmazonSimpleEmailServiceClient(RegionEndpoint.USWest2
)) { var sendRequest = new SendEmailRequest { Source = senderAddress, Destination = new Destination { ToAddresses = new List<string> { receiverAddress } }, Message = new Message { Subject = new Content(subject), Body = new Body { Html = new Content { Charset = "UTF-8", Data = htmlBody }, Text = new Content { Charset = "UTF-8", Data = textBody } } }, // If you are not using a configuration set, comment // or remove the following line ConfigurationSetName = configSet }; try { Console.WriteLine("Sending email using Amazon SES..."); var response = client.SendEmail(sendRequest); Console.WriteLine("The email was sent successfully."); } catch (Exception ex) { Console.WriteLine("The email was not sent."); Console.WriteLine("Error message: " + ex.Message); } } Console.Write("Press any key to continue..."); Console.ReadKey(); } } } -
Führen Sie im Code-Editor die folgenden Schritte aus:
-
sender@example.com
Ersetzen Sie es durch die E-Mail-Adresse „Von:“. Diese Adresse muss verifiziert werden. Weitere Informationen finden Sie unter Verifizierte Identitäten in Amazon SES. -
recipient@example.com
Ersetzen Sie es durch die Adresse „An:“. Wenn sich Ihr Konto noch in der Sandbox befindet, muss auch diese Adresse verifiziert werden. -
ConfigSet
Ersetzen Sie es durch den Namen des Konfigurationssatzes, der beim Senden dieser E-Mail verwendet werden soll. -
USWest2
Ersetzen Sie es durch den Namen des AWS-Region Endpunkts, den Sie zum Senden von E-Mails mit Amazon SES verwenden. Eine Liste der Regionen, in denen Amazon SES verfügbar ist, finden Sie unter Amazon Simple Email Service (Amazon SES) in der Allgemeine AWS-Referenz.
Wenn Sie fertig sind, speichern Sie
Program.cs
. -
-
Führen Sie die folgenden Schritte durch, um die Anwendung zu erstellen und auszuführen:
-
Wählen Sie im Menü Build (Erstellen) Build Solution (Lösung erstellen) aus.
-
Klicken Sie im Menü Debug (Debuggen) auf Start Debugging (Debuggen starten). Ein Konsolenfenster wird angezeigt.
-
-
Überprüfen Sie die Ausgabe der Konsole. Wenn die E-Mail erfolgreich gesendet wurde, zeigt die Konsole „
The email was sent successfully.
“. -
Wenn die E-Mail erfolgreich übermittelt wurde, melden Sie sich beim E-Mail-Client der Empfängeradresse an. Sie finden die Nachricht, die Sie gesendet haben.
-
- Java
-
Das folgende Verfahren zeigt Ihnen, wie Sie die Eclipse IDE für Java EE-Entwickler
verwenden und AWS Toolkit for Eclipseein AWS SDK-Projekt erstellen und den Java-Code ändern, um eine E-Mail über Amazon SES zu senden. Führen Sie vor Beginn die folgenden Schritte durch:
-
Eclipse installieren – Sie können Eclipse unter https://www.eclipse.org/downloads
herunterladen. Der Code in diesem Tutorial wurde mit Eclipse Neon.3 (Version 4.6.3) und Version 1.8 der Java Runtime Environment geprüft. -
Installieren Sie das AWS Toolkit for Eclipse — Anweisungen zum Hinzufügen von AWS Toolkit for Eclipse zu Ihrer Eclipse-Installation finden Sie unter https://aws.amazon.com/eclipse
. Der Code in diesem Tutorial wurde unter Verwendung der Version 2.3.1 des AWS Toolkit for Eclipse getestet.
Um eine E-Mail mit dem zu senden AWS SDK for Java
-
Erstellen Sie ein AWS Java-Projekt in Eclipse, indem Sie die folgenden Schritte ausführen:
-
Starten Sie Eclipse.
-
Wählen Sie im Menü File (Datei) die Option New (Neu) und wählen Sie dann Other (Weitere) aus. Erweitern Sie im Fenster New (Neu) den Ordner AWS und wählen Sie dann AWS Java Project (Java-Projekt) aus.
-
Gehen Sie im Dialogfeld „Neues AWS Java-Projekt“ wie folgt vor:
-
Geben Sie im Feld Project name (Projektname) einen Namen für das Projekt ein.
-
Wählen Sie unter AWS SDK for Java Beispiele die Option Amazon Simple Email Service JavaMail Sample aus.
-
Klicken Sie auf Finish (Abschließen).
-
-
-
Erweitern Sie im Bereich Package Explorer (Paket-Explorer) das Projekt.
-
Erweitern Sie im
src/main/java
-Ordner dencom.amazon.aws.samples
-Ordner und klicken Sie doppelt aufAmazonSESSample.java
. -
Ersetzen Sie den gesamten Inhalt von
AmazonSESSample.java
durch den folgenden Code:package com.amazonaws.samples; import java.io.IOException; import com.amazonaws.regions.Regions; import com.amazonaws.services.simpleemail.AmazonSimpleEmailService; import com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClientBuilder; import com.amazonaws.services.simpleemail.model.Body; import com.amazonaws.services.simpleemail.model.Content; import com.amazonaws.services.simpleemail.model.Destination; import com.amazonaws.services.simpleemail.model.Message; import com.amazonaws.services.simpleemail.model.SendEmailRequest; public class AmazonSESSample { // Replace sender@example.com with your "From" address. // This address must be verified with Amazon SES. static final String FROM = "
sender@example.com
"; // Replace recipient@example.com with a "To" address. If your account // is still in the sandbox, this address must be verified. static final String TO = "recipient@example.com
"; // The configuration set to use for this email. If you do not want to use a // configuration set, comment the following variable and the // .withConfigurationSetName(CONFIGSET); argument below. static final String CONFIGSET = "ConfigSet
"; // The subject line for the email. static final String SUBJECT = "Amazon SES test (AWS SDK for Java)"; // The HTML body for the email. static final String HTMLBODY = "<h1>Amazon SES test (AWS SDK for Java)</h1>" + "<p>This email was sent with <a href='https://aws.amazon.com/ses/'>" + "Amazon SES</a> using the <a href='https://aws.amazon.com/sdk-for-java/'>" + "AWS SDK for Java</a>"; // The email body for recipients with non-HTML email clients. static final String TEXTBODY = "This email was sent through Amazon SES " + "using the AWS SDK for Java."; public static void main(String[] args) throws IOException { try { AmazonSimpleEmailService client = AmazonSimpleEmailServiceClientBuilder.standard() // Replace US_WEST_2 with the AWS Region you're using for // Amazon SES. .withRegion(Regions.US_WEST_2
).build(); SendEmailRequest request = new SendEmailRequest() .withDestination( new Destination().withToAddresses(TO)) .withMessage(new Message() .withBody(new Body() .withHtml(new Content() .withCharset("UTF-8").withData(HTMLBODY)) .withText(new Content() .withCharset("UTF-8").withData(TEXTBODY))) .withSubject(new Content() .withCharset("UTF-8").withData(SUBJECT))) .withSource(FROM) // Comment or remove the next line if you are not using a // configuration set .withConfigurationSetName(CONFIGSET); client.sendEmail(request); System.out.println("Email sent!"); } catch (Exception ex) { System.out.println("The email was not sent. Error message: " + ex.getMessage()); } } } -
Ersetzen Sie in
AmazonSESSample.java
folgende Werte durch Ihre eigenen Werte:Wichtig
Bei den E-Mail-Adressen ist die Groß-/Kleinschreibung nicht relevant. Vergewissern Sie sich, dass die Adressen exakt mit denen übereinstimmen, die Sie verifiziert haben.
-
SENDER@EXAMPLE.COM
– Ersetzen Sie dies durch Ihre Absender-E-Mail-Adresse. Sie müssen diese Adresse verifizieren, bevor Sie das Programm ausführen. Weitere Informationen finden Sie unter Verifizierte Identitäten in Amazon SES. -
RECIPIENT@EXAMPLE.COM
– Ersetzen Sie dies durch die Empfänger-E-Mail-Adresse. Wenn sich Ihr Konto noch in der Sandbox befindet, müssen Sie diese Adresse verifizieren, bevor Sie sie verwenden. Weitere Informationen finden Sie unter Produktionszugriff anfordern (Verlassen der Amazon SES SES-Sandbox). -
(Optional)
us-west-2
– Wenn Amazon SES in einer anderen Region als USA West (Oregon) verwendet werden soll, ersetzen Sie dies durch die entsprechende Region. Eine Liste der Regionen, in denen Amazon SES verfügbar ist, finden Sie unter Amazon Simple Email Service (Amazon SES) in der Allgemeine AWS-Referenz.
-
-
Speichern
AmazonSESSample.java
. -
Wählen Sie Project (Projekt) und dann Build Project (Projekt entwickeln) aus.
Anmerkung
Wenn diese Option deaktiviert ist, kann die automatische Erstellung aktiviert sein. Wenn dies der Fall ist, können Sie diesen Schritt überspringen.
-
Wählen Sie Run (Ausführen) und dann erneut Run (Ausführen) aus, um das Programm zu starten und die E-Mail zu senden.
-
Sehen Sie sich die Ausgabe im Konsolenbereich in Eclipse an. Wenn die E-Mail erfolgreich gesendet wurde, zeigt die Konsole „
Email sent!
“ an. Andernfalls wird eine Fehlermeldung angezeigt. -
Wenn die E-Mail erfolgreich übermittelt wurde, melden Sie sich beim E-Mail-Client der Empfängeradresse an. Sie finden die Nachricht, die Sie gesendet haben.
-
- PHP
-
In diesem Thema erfahren Sie, wie Sie das AWS SDK for PHP
verwenden, um eine E-Mail über Amazon SES zu senden. Führen Sie vor Beginn die folgenden Schritte durch:
-
Installieren von PHP – PHP finden Sie unter http://php.net/downloads.php
. Für dieses Tutorial ist die PHP-Version 5.5 oder höher erforderlich. Fügen Sie nach der Installation von PHP Ihren Umgebungsvariablen den Pfad zu PHP hinzu, damit Sie PHP von jeder Eingabeaufforderung aus ausführen können. Der Code in diesem Tutorial wurde unter Verwendung von PHP 7.2.7 getestet. -
AWS SDK for PHP Version 3 installieren — Anweisungen zum Herunterladen und zur Installation finden Sie in der AWS SDK for PHP Dokumentation. Der Code in diesem Tutorial wurde unter Verwendung der Version 3.64.13 des SDKs getestet.
Um eine E-Mail über Amazon SES zu senden, verwenden Sie den AWS SDK for PHP
-
Erstellen Sie in einem Texteditor eine Datei mit dem Namen
amazon-ses-sample.php
. Fügen Sie folgenden Code ein:<?php // If necessary, modify the path in the require statement below to refer to the // location of your Composer autoload.php file. require 'vendor/autoload.php'; use Aws\Ses\SesClient; use Aws\Exception\AwsException; // Create an SesClient. Change the value of the region parameter if you're // using an AWS Region other than US West (Oregon). Change the value of the // profile parameter if you want to use a profile in your credentials file // other than the default. $SesClient = new SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => '
us-west-2
' ]); // Replace sender@example.com with your "From" address. // This address must be verified with Amazon SES. $sender_email = 'sender@example.com
'; // Replace these sample addresses with the addresses of your recipients. If // your account is still in the sandbox, these addresses must be verified. $recipient_emails = ['recipient1@example.com
','recipient2@example.com
']; // Specify a configuration set. If you do not want to use a configuration // set, comment the following variable, and the // 'ConfigurationSetName' => $configuration_set argument below. $configuration_set = 'ConfigSet
'; $subject = 'Amazon SES test (AWS SDK for PHP)'; $plaintext_body = 'This email was sent with Amazon SES using the AWS SDK for PHP.' ; $html_body = '<h1>AWS Amazon Simple Email Service Test Email</h1>'. '<p>This email was sent with <a href="https://aws.amazon.com/ses/">'. 'Amazon SES</a> using the <a href="https://aws.amazon.com/sdk-for-php/">'. 'AWS SDK for PHP</a>.</p>'; $char_set = 'UTF-8'; try { $result = $SesClient->sendEmail([ 'Destination' => [ 'ToAddresses' => $recipient_emails, ], 'ReplyToAddresses' => [$sender_email], 'Source' => $sender_email, 'Message' => [ 'Body' => [ 'Html' => [ 'Charset' => $char_set, 'Data' => $html_body, ], 'Text' => [ 'Charset' => $char_set, 'Data' => $plaintext_body, ], ], 'Subject' => [ 'Charset' => $char_set, 'Data' => $subject, ], ], // If you aren't using a configuration set, comment or delete the // following line 'ConfigurationSetName' => $configuration_set, ]); $messageId = $result['MessageId']; echo("Email sent! Message ID: $messageId"."\n"); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo("The email was not sent. Error message: ".$e->getAwsErrorMessage()."\n"); echo "\n"; } -
Ersetzen Sie in
amazon-ses-sample.php
folgende Werte durch Ihre eigenen Werte:-
path_to_sdk_inclusion
— Ersetzt durch den Pfad, der erforderlich ist, um das AWS SDK for PHP in das Programm aufzunehmen. Weitere Informationen finden Sie in der AWS SDK for PHP -Dokumentation. -
sender@example.com
– Ersetzen Sie dies durch eine E-Mail-Adresse, die für Amazon SES verifiziert wurde. Weitere Informationen finden Sie unter Verifizierte Identitäten. Bei den E-Mail-Adressen in Amazon SES wird die Groß-/Kleinschreibung beachtet. Stellen Sie sicher, dass die von Ihnen eingegebene Adresse exakt mit der verifizierten Adresse übereinstimmt. -
recipient1@example.com
,recipient2@example.com
– ersetzen Sie dies durch Ihre Empfängeradressen. Wenn sich Ihr Konto noch in der Sandbox befindet, muss auch die Empfängeradresse verifiziert werden. Weitere Informationen finden Sie unter Produktionszugriff anfordern (Verlassen der Amazon SES SES-Sandbox). Stellen Sie sicher, dass die von Ihnen eingegebene Adresse exakt mit der verifizierten Adresse übereinstimmt. -
(Optional)
ConfigSet
—Wenn Sie beim Senden dieser E-Mail einen Konfigurationssatz senden möchten, ändern Sie den Wert der Variable mit dem Namen des Konfigurationssatzes. Weitere Informationen zu Konfigurationssätzen finden Sie unter Verwenden von Amazon SES-Konfigurationssätzen im . -
(Optional)
us-west-2
– Wenn Amazon SES in einer anderen Region als USA West (Oregon) verwendet werden soll, ersetzen Sie dies durch die entsprechende Region. Eine Liste der Regionen, in denen Amazon SES verfügbar ist, finden Sie unter Amazon Simple Email Service (Amazon SES) in der Allgemeine AWS-Referenz.
-
-
Speichern
amazon-ses-sample.php
. -
Um das Programm zu starten, öffnen Sie eine Eingabeaufforderung in demselben Verzeichnis wie
amazon-ses-sample.php
und geben Sie dann den folgenden Befehl ein:$
php amazon-ses-sample.php
-
Überprüfen Sie die Ausgabe. Wenn die E-Mail erfolgreich gesendet wurde, zeigt die Konsole „
Email sent!
“ an. Andernfalls wird eine Fehlermeldung angezeigt.Anmerkung
Wenn der Fehler „cURL error 60: SSL certificate problem“ angezeigt wird, wenn Sie das Programm ausführen, laden Sie das neueste CA-Bundle herunter, wie in der AWS SDK for PHP -Dokumentation beschrieben. Fügen Sie dann in
amazon-ses-sample.php
demSesClient::factory
-Array die folgenden Zeilen hinzu, ersetzen Siepath_of_certs
durch den Pfad zu dem heruntergeladenen CA-Bundle und führen Sie das Programm erneut aus.'http' => [ 'verify' => 'path_of_certs\ca-bundle.crt' ]
-
Melden Sie sich am E-Mail-Client der Empfängeradresse an. Sie finden die Nachricht, die Sie gesendet haben.
-
- Ruby
-
In diesem Thema erfahren Sie, wie Sie das AWS SDK for Ruby
verwenden, um eine E-Mail über Amazon SES zu senden. Führen Sie vor Beginn die folgenden Schritte durch:
-
Ruby installieren — Ruby ist unter https://www.ruby-lang verfügbar. org/en/downloads
/. Der Code in diesem Tutorial wurde unter Verwendung von Ruby 1.9.3 getestet. Fügen Sie nach der Installation von Ruby Ihren Umgebungsvariablen den Pfad zu Ruby hinzu, damit Sie Ruby von jeder Eingabeaufforderung aus ausführen können. -
Installieren Sie das AWS SDK for Ruby — Anweisungen zum Herunterladen und zur Installation finden Sie unter Installation von AWS SDK for Ruby im AWS SDK for Ruby Entwicklerhandbuch. Der Beispiel-Code in diesem Tutorial wurde mit Version 2.9.36 des AWS SDK for Ruby getestet.
-
Erstellen einer gemeinsamen Anmeldeinformationsdatei – Damit der Beispiel-Code in diesem Abschnitt ordnungsgemäß funktioniert, müssen Sie eine gemeinsame Anmeldeinformationsdatei erstellen. Weitere Informationen finden Sie unter Erstellen einer gemeinsamen Anmeldeinformationsdatei zur Verwendung beim Senden von E-Mails über Amazon SES mithilfe eines AWS SDK.
Um eine E-Mail über Amazon SES zu senden, verwenden Sie den AWS SDK for Ruby
-
Erstellen Sie in einem Texteditor eine Datei mit dem Namen
amazon-ses-sample.rb
. Fügen Sie folgenden Code in die Datei ein:require 'aws-sdk' # Replace sender@example.com with your "From" address. # This address must be verified with Amazon SES. sender = "
sender@example.com
" # Replace recipient@example.com with a "To" address. If your account # is still in the sandbox, this address must be verified. recipient = "recipient@example.com
" # Specify a configuration set. If you do not want to use a configuration # set, comment the following variable and the # configuration_set_name: configsetname argument below. configsetname = "ConfigSet
" # Replace us-west-2 with the AWS Region you're using for Amazon SES. awsregion = "us-west-2
" # The subject line for the email. subject = "Amazon SES test (AWS SDK for Ruby)" # The HTML body of the email. htmlbody = '<h1>Amazon SES test (AWS SDK for Ruby)</h1>'\ '<p>This email was sent with <a href="https://aws.amazon.com/ses/">'\ 'Amazon SES</a> using the <a href="https://aws.amazon.com/sdk-for-ruby/">'\ 'AWS SDK for Ruby</a>.' # The email body for recipients with non-HTML email clients. textbody = "This email was sent with Amazon SES using the AWS SDK for Ruby." # Specify the text encoding scheme. encoding = "UTF-8" # Create a new SES resource and specify a region ses = Aws::SES::Client.new(region: awsregion) # Try to send the email. begin # Provide the contents of the email. resp = ses.send_email({ destination: { to_addresses: [ recipient, ], }, message: { body: { html: { charset: encoding, data: htmlbody, }, text: { charset: encoding, data: textbody, }, }, subject: { charset: encoding, data: subject, }, }, source: sender, # Comment or remove the following line if you are not using # a configuration set configuration_set_name: configsetname, }) puts "Email sent!" # If something goes wrong, display an error message. rescue Aws::SES::Errors::ServiceError => error puts "Email not sent. Error message: #{error}" end -
Ersetzen Sie in
amazon-ses-sample.rb
folgende Werte durch Ihre eigenen Werte:-
sender@example.com
– Ersetzen Sie dies durch eine E-Mail-Adresse, die für Amazon SES verifiziert wurde. Weitere Informationen finden Sie unter Verifizierte Identitäten. Bei den E-Mail-Adressen in Amazon SES wird die Groß-/Kleinschreibung beachtet. Stellen Sie sicher, dass die von Ihnen eingegebene Adresse exakt mit der verifizierten Adresse übereinstimmt. -
recipient@example.com
—Ersetzen Sie dies durch die Empfängeradresse. Wenn sich Ihr Konto noch in der Sandbox befindet, müssen Sie diese Adresse verifizieren, bevor Sie sie verwenden. Weitere Informationen finden Sie unter Produktionszugriff anfordern (Verlassen der Amazon SES SES-Sandbox). Stellen Sie sicher, dass die von Ihnen eingegebene Adresse exakt mit der verifizierten Adresse übereinstimmt. -
(Optional)
us-west-2
– Wenn Amazon SES in einer anderen Region als USA West (Oregon) verwendet werden soll, ersetzen Sie dies durch die entsprechende Region. Eine Liste der Regionen, in denen Amazon SES verfügbar ist, finden Sie unter Amazon Simple Email Service (Amazon SES) in der Allgemeine AWS-Referenz.
-
-
Speichern
amazon-ses-sample.rb
. -
Um das Programm zu starten, öffnen Sie eine Eingabeaufforderung in demselben Verzeichnis wie
amazon-ses-sample.rb
und geben Sie ruby amazon-ses-sample.rb ein. -
Überprüfen Sie die Ausgabe. Wenn die E-Mail erfolgreich gesendet wurde, zeigt die Konsole „
Email sent!
“ an. Andernfalls wird eine Fehlermeldung angezeigt. -
Melden Sie sich am E-Mail-Client der Empfängeradresse an. Sie finden die Nachricht, die Sie gesendet haben.
-
- Python
-
In diesem Thema erfahren Sie, wie Sie das AWS SDK for Python (Boto)
verwenden, um eine E-Mail über Amazon SES zu senden. Führen Sie vor Beginn die folgenden Schritte durch:
-
Verifizieren Sie Ihre E-Mail-Adresse mit Amazon SES – Bevor Sie E-Mails mit &SES; senden können, müssen Sie den Besitz der Absender-E-Mail-Adresse nachweisen. Befindet sich Ihr Konto noch in der Amazon SES Sandbox, müssen Sie auch die E-Mail-Adresse des Empfängers verifizieren. Wir empfehlen Ihnen, die Amazon SES Konsole zu verwenden, um E-Mail-Adressen zu verifizieren. Weitere Informationen finden Sie unter Erstellen einer E-Mail-Adressidentität.
-
Holen Sie sich Ihre AWS Anmeldeinformationen — Sie benötigen eine AWS Zugriffsschlüssel-ID und einen AWS geheimen Zugriffsschlüssel, um mit einem SDK auf Amazon SES zuzugreifen. Sie erhalten Ihre Anmeldeinformationen über die Seite Security Credentials
(Sicherheitsanmeldeinformationen) der AWS Management Console. Weitere Informationen zu Anmeldeinformationen finden Sie unter Arten von Amazon-SES-Anmeldeinformationen. -
Python installieren — Python ist unter thon.org/downloads/ https://www.py verfügbar.
Der Code in diesem Tutorial wurde mit Python 2.7.6 und Python 3.6.1 getestet. Fügen Sie nach der Installation von Python Ihren Umgebungsvariablen den Pfad zu Python hinzu, damit Sie Python von jeder Eingabeaufforderung aus ausführen können. -
Installieren Sie das AWS SDK for Python (Boto)— Anweisungen zum Herunterladen und zur Installation finden Sie in der Dokumentation.AWS SDK for Python (Boto)
Der Beispiel-Code in diesem Tutorial wurde mit Version 1.4.4 des SDK für Python getestet.
So senden Sie mit dem SDK für Python eine E-Mail über Amazon SES
-
Erstellen Sie in einem Texteditor eine Datei mit dem Namen
amazon-ses-sample.py
. Fügen Sie folgenden Code in die Datei ein:import boto3 from botocore.exceptions import ClientError # Replace sender@example.com with your "From" address. # This address must be verified with Amazon SES. SENDER = "
Sender Name <sender@example.com>
" # Replace recipient@example.com with a "To" address. If your account # is still in the sandbox, this address must be verified. RECIPIENT = "recipient@example.com
" # Specify a configuration set. If you do not want to use a configuration # set, comment the following variable, and the # ConfigurationSetName=CONFIGURATION_SET argument below. CONFIGURATION_SET = "ConfigSet
" # If necessary, replace us-west-2 with the AWS Region you're using for Amazon SES. AWS_REGION = "us-west-2
" # The subject line for the email. SUBJECT = "Amazon SES Test (SDK for Python)" # The email body for recipients with non-HTML email clients. BODY_TEXT = ("Amazon SES Test (Python)\r\n" "This email was sent with Amazon SES using the " "AWS SDK for Python (Boto)." ) # The HTML body of the email. BODY_HTML = """<html> <head></head> <body> <h1>Amazon SES Test (SDK for Python)</h1> <p>This email was sent with <a href='https://aws.amazon.com/ses/'>Amazon SES</a> using the <a href='https://aws.amazon.com/sdk-for-python/'> AWS SDK for Python (Boto)</a>.</p> </body> </html> """ # The character encoding for the email. CHARSET = "UTF-8" # Create a new SES resource and specify a region. client = boto3.client('ses',region_name=AWS_REGION) # Try to send the email. try: #Provide the contents of the email. response = client.send_email( Destination={ 'ToAddresses': [ RECIPIENT, ], }, Message={ 'Body': { 'Html': { 'Charset': CHARSET, 'Data': BODY_HTML, }, 'Text': { 'Charset': CHARSET, 'Data': BODY_TEXT, }, }, 'Subject': { 'Charset': CHARSET, 'Data': SUBJECT, }, }, Source=SENDER, # If you are not using a configuration set, comment or delete the # following line ConfigurationSetName=CONFIGURATION_SET, ) # Display an error if something goes wrong. except ClientError as e: print(e.response['Error']['Message']) else: print("Email sent! Message ID:"), print(response['MessageId']) -
Ersetzen Sie in
amazon-ses-sample.py
folgende Werte durch Ihre eigenen Werte:-
sender@example.com
– Ersetzen Sie dies durch eine E-Mail-Adresse, die für Amazon SES verifiziert wurde. Weitere Informationen finden Sie unter Verifizierte Identitäten. Bei den E-Mail-Adressen in Amazon SES wird die Groß-/Kleinschreibung beachtet. Stellen Sie sicher, dass die von Ihnen eingegebene Adresse exakt mit der verifizierten Adresse übereinstimmt. -
recipient@example.com
—Ersetzen Sie dies durch die Empfängeradresse. Wenn sich Ihr Konto noch in der Sandbox befindet, müssen Sie diese Adresse verifizieren, bevor Sie sie verwenden. Weitere Informationen finden Sie unter Produktionszugriff anfordern (Verlassen der Amazon SES SES-Sandbox). Stellen Sie sicher, dass die von Ihnen eingegebene Adresse exakt mit der verifizierten Adresse übereinstimmt. -
(Optional)
us-west-2
– Wenn Amazon SES in einer anderen Region als USA West (Oregon) verwendet werden soll, ersetzen Sie dies durch die entsprechende Region. Eine Liste der Regionen, in denen Amazon SES verfügbar ist, finden Sie unter Amazon Simple Email Service (Amazon SES) in der Allgemeine AWS-Referenz.
-
-
Speichern
amazon-ses-sample.py
. -
Um das Programm zu starten, öffnen Sie eine Eingabeaufforderung in demselben Verzeichnis wie
amazon-ses-sample.py
und geben Sie python amazon-ses-sample.py ein. -
Überprüfen Sie die Ausgabe. Wenn die E-Mail erfolgreich gesendet wurde, zeigt die Konsole „
Email sent!
“ an. Andernfalls wird eine Fehlermeldung angezeigt. -
Melden Sie sich am E-Mail-Client der Empfängeradresse an. Sie finden die Nachricht, die Sie gesendet haben.
-