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:
-
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 Bereich auf der rechten Seite die Option Konsolen-App (. NETFramework).
-
Geben Sie unter Name
AmazonSESSample
ein und klicken Sie auf OK.
-
-
Verwenden Sie diese Option NuGet , um die SES Amazon-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 mazonSESSample Registerkarte NuGet: A 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:
-
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
. -
-
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 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
-
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 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.
-
-
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 wird gezeigt, wie Sie AWS SDK for PHP
mit dem eine E-Mail über Amazon versenden könnenSES. Führen Sie vor Beginn die folgenden Schritte durch:
-
Installieren PHP — PHP ist unter http://php.net/downloads.php
verfügbar. Für dieses Tutorial ist PHP Version 5.5 oder höher erforderlich. Fügen Sie nach der Installation PHP den Pfad zu PHP Ihren Umgebungsvariablen hinzu, sodass Sie ihn PHP von jeder Befehlszeile aus ausführen können. Der Code in diesem Tutorial wurde mit 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 mit Version 3.64.13 von getestet. SDK
Um eine E-Mail über Amazon zu senden, SES 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
—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.
-
-
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 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
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 wird gezeigt, wie Sie AWS SDK for Ruby
mit dem eine E-Mail über Amazon versenden könnenSES. 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 mit einem AWS SDK.
Um eine E-Mail über Amazon zu senden, SES 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
—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.
-
-
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 wird gezeigt, wie Sie AWS SDK for Python (Boto)
mit dem eine E-Mail über Amazon versenden könnenSES. 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
-
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
—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.
-
-
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.
-