Senden von E-Mails über Amazon SES mit einem AWS SDK - Amazon Simple Email Service

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 mit einem AWS SDK

Sie können eine verwenden AWS SDK, um E-Mails über Amazon zu sendenSES. AWS SDKssind 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 bei Amazon SES — Bevor Sie eine E-Mail mit Amazon senden könnenSES, müssen Sie verifizieren, dass Sie die E-Mail-Adresse des Absenders besitzen. Wenn sich Ihr Konto noch in der SES Amazon-Sandbox befindet, müssen Sie auch die E-Mail-Adresse des Empfängers überprüfen. Wir empfehlen Ihnen, die SES Amazon-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 SES mit einem SDK auf Amazon 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 mit einem AWS SDK.

Codebeispiele

Wichtig

In diesem Tutorial senden Sie eine E-Mail an sich selbst, um zu prüfen, ob diese bei Ihnen ankommt. Verwenden Sie für weitere Experimente oder Auslastungstests den SES Amazon-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

    Das folgende Verfahren zeigt Ihnen, wie Sie SES mit Visual Studio und dem eine E-Mail über Amazon senden AWS SDK for .NET.

    Diese Lösung wurde mit folgenden Komponenten getestet:

    • Microsoft Visual Studio Community 2017, Version 15.4.0.

    • Microsoft. NETFramework-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:
    Um eine E-Mail mit dem zu senden AWS SDK for .NET
    1. Führen Sie die folgenden Schritte aus, um ein neues Projekt zu erstellen:

      1. Starten Sie Visual Studio.

      2. Wählen Sie im Menü File (Datei) New (Neu), Project (Projekt) aus.

      3. Erweitern Sie im linken Bereich des Fensters New Project (Neues Projekt) die Einträge Installed (Installiert) und Visual C#.

      4. Wählen Sie im Bereich auf der rechten Seite die Option Konsolen-App (. NETFramework).

      5. Geben Sie unter Name AmazonSESSample ein und klicken Sie auf OK.

    2. Verwenden Sie diese Option NuGet , um die SES Amazon-Pakete in Ihre Lösung aufzunehmen, indem Sie die folgenden Schritte ausführen:

      1. Klicken Sie im Solution Explorer-Bereich mit der rechten Maustaste auf Ihr Projekt und wählen Sie dann NuGet Pakete verwalten.

      2. Wählen Sie auf der mazonSESSample Registerkarte NuGet: A die Option Durchsuchen aus.

      3. Geben Sie in das Suchfeld AWSSDK.SimpleEmail ein.

      4. Wählen Sie die AWSSDK. SimpleEmailPaket und wählen Sie dann Installieren.

      5. Klicken Sie im Fenster Preview Changes (Vorschau der Änderungen) auf OK.

    3. 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(); } } }
    4. Führen Sie im Code-Editor die folgenden Schritte aus:

      • Ersetzen sender@example.com mit der E-Mail-Adresse „Von:“. Diese Adresse muss verifiziert werden. Weitere Informationen finden Sie unter Verifizierte Identitäten in Amazon SES.

      • Ersetzen recipient@example.com mit der „An:“ -Adresse. Wenn sich Ihr Konto noch in der Sandbox befindet, muss auch diese Adresse verifiziert werden.

      • Ersetzen ConfigSet mit dem Namen der Konfiguration, die beim Senden dieser E-Mail verwendet werden soll.

      • Ersetzen USWest2 mit dem Namen des AWS-Region Endpunkts, den Sie zum Senden von E-Mails über Amazon verwendenSES. Eine Liste der Regionen, in denen Amazon verfügbar SES ist, finden Sie unter Amazon Simple Email Service (AmazonSES) in der Allgemeine AWS-Referenz.

      Wenn Sie fertig sind, speichern Sie Program.cs.

    5. Führen Sie die folgenden Schritte durch, um die Anwendung zu erstellen und auszuführen:

      1. Wählen Sie im Menü Build (Erstellen) Build Solution (Lösung erstellen) aus.

      2. Klicken Sie im Menü Debug (Debuggen) auf Start Debugging (Debuggen starten). Ein Konsolenfenster wird angezeigt.

    6. Überprüfen Sie die Ausgabe der Konsole. Wenn die E-Mail erfolgreich gesendet wurde, zeigt die Konsole „The email was sent successfully.“.

    7. 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 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 zu sendenSES.

    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
    1. Erstellen Sie ein AWS Java-Projekt in Eclipse, indem Sie die folgenden Schritte ausführen:

      1. Starten Sie Eclipse.

      2. 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.

      3. Gehen Sie im Dialogfeld „Neues AWS Java-Projekt“ wie folgt vor:

        1. Geben Sie im Feld Project name (Projektname) einen Namen für das Projekt ein.

        2. Wählen Sie unter AWS SDK for Java Beispiele die Option Amazon Simple Email Service JavaMail Sample aus.

        3. Klicken Sie auf Finish (Abschließen).

    2. Erweitern Sie im Bereich Package Explorer (Paket-Explorer) das Projekt.

    3. Erweitern Sie im src/main/java-Ordner den com.amazon.aws.samples-Ordner und klicken Sie doppelt auf AmazonSESSample.java.

    4. 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()); } } }
    5. 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 SES Amazon-Sandbox).

      • (Optional) us-west-2 — Wenn Sie Amazon SES in einer anderen Region als USA West (Oregon) verwenden möchten, ersetzen Sie dies durch die Region, die Sie verwenden möchten. Eine Liste der Regionen, in denen Amazon verfügbar SES ist, finden Sie unter Amazon Simple Email Service (AmazonSES) in der Allgemeine AWS-Referenz.

    6. Speichern AmazonSESSample.java.

    7. 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.

    8. Wählen Sie Run (Ausführen) und dann erneut Run (Ausführen) aus, um das Programm zu starten und die E-Mail zu senden.

    9. 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.

    10. 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 wird gezeigt, wie Sie AWS SDK for PHPmit dem eine E-Mail über Amazon versendenSES.

    Führen Sie vor Beginn die folgenden Schritte durch:
    Um eine E-Mail über Amazon zu senden, SES verwenden Sie den AWS SDK for PHP
    1. 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"; }
    2. 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—Durch eine E-Mail-Adresse ersetzen, die Sie bei Amazon SES verifiziert haben. Weitere Informationen finden Sie unter Verifizierte Identitäten. Bei E-Mail-Adressen bei Amazon wird zwischen Groß- und Kleinschreibung SES unterschieden. 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 SES Amazon-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 Konfigurationssätzen in Amazon SES.

      • (Optional) us-west-2 — Wenn Sie Amazon SES in einer anderen Region als USA West (Oregon) verwenden möchten, ersetzen Sie dies durch die Region, die Sie verwenden möchten. Eine Liste der Regionen, in denen Amazon verfügbar SES ist, finden Sie unter Amazon Simple Email Service (AmazonSES) in der Allgemeine AWS-Referenz.

    3. Speichern amazon-ses-sample.php.

    4. 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
    5. Ü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 Sie bei der Ausführung des Programms auf die URL Fehlermeldung „c error 60: SSL certificate problem“ stoßen, laden Sie das neueste CA-Paket herunter, wie in der AWS SDK for PHP Dokumentation beschrieben. Fügen Sie dann in amazon-ses-sample.php dem SesClient::factory-Array die folgenden Zeilen hinzu, ersetzen Sie path_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' ]
    6. Melden Sie sich am E-Mail-Client der Empfängeradresse an. Sie finden die Nachricht, die Sie gesendet haben.

    Ruby

    In diesem Thema wird gezeigt, wie Sie AWS SDK for Rubymit dem eine E-Mail über Amazon versendenSES.

    Führen Sie vor Beginn die folgenden Schritte durch:
    Um eine E-Mail über Amazon zu senden, SES verwenden Sie den AWS SDK for Ruby
    1. 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
    2. Ersetzen Sie in amazon-ses-sample.rb folgende Werte durch Ihre eigenen Werte:

      • sender@example.com—Durch eine E-Mail-Adresse ersetzen, die Sie bei Amazon SES verifiziert haben. Weitere Informationen finden Sie unter Verifizierte Identitäten. Bei E-Mail-Adressen bei Amazon wird zwischen Groß- und Kleinschreibung SES unterschieden. 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 SES Amazon-Sandbox). Stellen Sie sicher, dass die von Ihnen eingegebene Adresse exakt mit der verifizierten Adresse übereinstimmt.

      • (Optional) us-west-2 — Wenn Sie Amazon SES in einer anderen Region als USA West (Oregon) verwenden möchten, ersetzen Sie dies durch die Region, die Sie verwenden möchten. Eine Liste der Regionen, in denen Amazon verfügbar SES ist, finden Sie unter Amazon Simple Email Service (AmazonSES) in der Allgemeine AWS-Referenz.

    3. Speichern amazon-ses-sample.rb.

    4. 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.

    5. Überprüfen Sie die Ausgabe. Wenn die E-Mail erfolgreich gesendet wurde, zeigt die Konsole „Email sent!“ an. Andernfalls wird eine Fehlermeldung angezeigt.

    6. Melden Sie sich am E-Mail-Client der Empfängeradresse an. Sie finden die Nachricht, die Sie gesendet haben.

    Python

    In diesem Thema wird gezeigt, wie Sie AWS SDK for Python (Boto)mit dem eine E-Mail über Amazon versendenSES.

    Führen Sie vor Beginn die folgenden Schritte durch:
    • Verifizieren Sie Ihre E-Mail-Adresse bei Amazon SES — Bevor Sie eine E-Mail mit Amazon senden könnenSES, müssen Sie verifizieren, dass Sie die E-Mail-Adresse des Absenders besitzen. Wenn sich Ihr Konto noch in der SES Amazon-Sandbox befindet, müssen Sie auch die E-Mail-Adresse des Empfängers überprüfen. Wir empfehlen Ihnen, die SES Amazon-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 SES mit einem SDK auf Amazon 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 Beispielcode in diesem Tutorial wurde mit Version 1.4.4 von SDK for Python getestet.

    Um eine E-Mail über Amazon SES mit dem SDK für Python zu senden
    1. 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'])
    2. Ersetzen Sie in amazon-ses-sample.py folgende Werte durch Ihre eigenen Werte:

      • sender@example.com—Durch eine E-Mail-Adresse ersetzen, die Sie bei Amazon SES verifiziert haben. Weitere Informationen finden Sie unter Verifizierte Identitäten. Bei E-Mail-Adressen bei Amazon wird zwischen Groß- und Kleinschreibung SES unterschieden. 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 SES Amazon-Sandbox). Stellen Sie sicher, dass die von Ihnen eingegebene Adresse exakt mit der verifizierten Adresse übereinstimmt.

      • (Optional) us-west-2 — Wenn Sie Amazon SES in einer anderen Region als USA West (Oregon) verwenden möchten, ersetzen Sie dies durch die Region, die Sie verwenden möchten. Eine Liste der Regionen, in denen Amazon verfügbar SES ist, finden Sie unter Amazon Simple Email Service (AmazonSES) in der Allgemeine AWS-Referenz.

    3. Speichern amazon-ses-sample.py.

    4. 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.

    5. Überprüfen Sie die Ausgabe. Wenn die E-Mail erfolgreich gesendet wurde, zeigt die Konsole „Email sent!“ an. Andernfalls wird eine Fehlermeldung angezeigt.

    6. Melden Sie sich am E-Mail-Client der Empfängeradresse an. Sie finden die Nachricht, die Sie gesendet haben.