Envoi d'e-mails via Amazon à SES l'aide d'un AWS SDK - Amazon Simple Email Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Envoi d'e-mails via Amazon à SES l'aide d'un AWS SDK

Vous pouvez utiliser un AWS SDK pour envoyer des e-mails via AmazonSES. AWS SDKssont disponibles pour plusieurs langages de programmation. Pour plus d'informations, veuillez consulter Outils pour Amazon Web Services.

Prérequis

Les conditions préalables suivantes doivent être remplies pour compléter l'un des exemples de code de la section suivante :

Exemples de code

Important

Dans les didacticiels suivants, vous vous envoyez un e-mail afin de vérifier si vous l'avez reçu. Pour d'autres expérimentations ou tests de charge, utilisez le simulateur de SES boîte aux lettres Amazon. Les e-mails envoyés au simulateur de boîte aux lettres ne sont pas pris en compte dans votre quota d'envoi et vos taux de retours à l'expéditeur et de réclamations. Pour plus d'informations, consultez Utilisation manuelle du simulateur de boîte aux lettres.

Sélectionnez un langage de programmation pour afficher l'exemple correspondant à cette langue:
    .NET

    La procédure suivante explique comment envoyer un e-mail via Amazon à SES l'aide de Visual Studio et du AWS SDK for .NET.

    Cette solution a été testée en utilisant les éléments suivants :

    • Microsoft Visual Studio Community 2017, version 15.4.0.

    • Microsoft. NETVersion du framework 4.6.1.

    • Le package AWSSDK .Core (version 3.3.19), installé à l'aide de. NuGet

    • Le AWSSDK. SimpleEmail package (version 3.3.6.1), installé à l'aide de. NuGet

    Avant de commencer, exécutez les tâches suivantes :
    Pour envoyer un e-mail à l'aide du AWS SDK for .NET
    1. Créez un projet en procédant comme suit :

      1. Démarrez Visual Studio 2015.

      2. Dans le menu File (Fichier), choisissez New (Nouveau), Project (Projet).

      3. Dans la fenêtre New Project (Nouveau projet), dans le panneau de gauche, développez Installed (Installations), puis Visual C#.

      4. Dans le panneau de droite, choisissez Console App (. NETCadre).

      5. Pour Name (Nom), tapez AmazonSESSample, puis choisissez OK.

    2. NuGet À utiliser pour inclure les SES packages Amazon dans votre solution en effectuant les étapes suivantes :

      1. Dans le volet Explorateur de solutions, cliquez avec le bouton droit sur votre projet, puis sélectionnez Gérer les NuGet packages.

      2. Dans l'mazonSESSampleonglet NuGet: A, choisissez Parcourir.

      3. Dans la zone de recherche, saisissez AWSSDK.SimpleEmail.

      4. Choisissez le AWSSDK. SimpleEmailpackage, puis choisissez Installer.

      5. Dans la fenêtre Preview Changes (Prévisualiser les modifications), choisissez OK.

    3. Sous l'onglet Program.cs, collez le code suivant :

      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. Dans l'éditeur de code, procédez comme suit :

      • Remplacez sender@example.com avec l'adresse e-mail « De : ». Cette adresse doit être vérifiée. Pour plus d’informations, consultez Identités vérifiées dans Amazon SES.

      • Remplacez recipient@example.com avec l'adresse « À : ». Si votre compte est encore dans l'environnement de test (sandbox), cette adresse doit également être vérifiée.

      • Remplacez ConfigSet avec le nom du jeu de configuration à utiliser lors de l'envoi de cet e-mail.

      • Remplacez USWest2 avec le nom du Région AWS point de terminaison que vous utilisez pour envoyer des e-mails via AmazonSES. Pour obtenir la liste des régions dans lesquelles Amazon SES est disponible, consultez Amazon Simple Email Service (AmazonSES) dans le Références générales AWS.

      Lorsque vous avez terminé, enregistrez Program.cs.

    5. Concevez et exécutez l'application en effectuant les étapes suivantes :

      1. Dans le menu Build (Créer), choisissez Build Solution (Créer une solution).

      2. Dans le menu Débogage, choisissez Démarrer le débogage. Une fenêtre de la console s'affiche.

    6. Vérifiez la sortie de la console. Si l'envoi de l'e-mail aboutit, la console affiche « The email was sent successfully. »

    7. Si l'e-mail a été envoyé avec succès, connectez-vous au client de messagerie de l'adresse du destinataire. Vous verrez le message que vous avez envoyé.

    Java

    La procédure suivante explique comment utiliser Eclipse IDE pour les développeurs Java EE, AWS Toolkit for Eclipsecréer un AWS SDK projet et modifier le code Java pour envoyer un e-mail via AmazonSES.

    Avant de commencer, exécutez les tâches suivantes :
    • Installer Eclipse – Eclipse est disponible à l'adresse https://www.eclipse.org/downloads. Le code présenté dans ce didacticiel a été testé avec Eclipse Neon.3 (version 4.6.3) et la version 1.8 de l'environnement d'exécution Java.

    • Installez le AWS Toolkit for Eclipse—Les instructions pour ajouter le AWS Toolkit for Eclipse à votre installation Eclipse sont disponibles sur https://aws.amazon.com/eclipse. Le code inclus dans ce didacticiel a été testé avec la version 2.3.1 du kit AWS Toolkit for Eclipse.

    Pour envoyer un e-mail à l'aide du AWS SDK for Java
    1. Créez un projet AWS Java dans Eclipse en effectuant les étapes suivantes :

      1. Démarrez Eclipse.

      2. Dans le menu File (Fichier), sélectionnez New (Nouveau), puis Other (Autre). Dans la fenêtre New (Nouveau), développez le dossier AWS, puis choisissez AWS Java Project (Projet Java AWS ).

      3. Dans la boîte de dialogue Nouveau projet AWS Java, procédez comme suit :

        1. Pour Project name (Nom du projet), tapez un nom de projet.

        2. Sous AWS SDK for Java Exemples, sélectionnez Amazon Simple Email Service JavaMail Sample.

        3. Choisissez Finish (Terminer).

    2. Dans le panneau Package Explorer (Explorateur de paquets) d'Eclipse, développez votre projet.

    3. Sous votre projet, développez le dossier src/main/java, développez le dossier com.amazon.aws.samples, puis cliquez deux fois sur AmazonSESSample.java.

    4. Remplacez la totalité du contenu de AmazonSESSample.java par le code suivant :

      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. Dans AmazonSESSample.java, remplacez les éléments suivants par vos propres valeurs :

      Important

      Les adresses e-mail sont sensibles à la casse. Assurez-vous que les adresses sont exactement les mêmes que celles que vous avez vérifiées.

      • SENDER@EXAMPLE.COM – Remplacez par votre adresse e-mail « From ». Vous devez vérifier cette adresse avant d'exécuter ce programme. Pour plus d'informations, consultez Identités vérifiées dans Amazon SES.

      • RECIPIENT@EXAMPLE.COM – Remplacez par votre adresse e-mail « To ». Si votre compte est encore dans l'environnement de test (sandbox), vous devez vérifier cette adresse avant de l'utiliser. Pour plus d’informations, consultez Demande d'accès à la production (sortie du SES sandbox Amazon).

      • (Facultatif) us-west-2 —Si vous souhaitez utiliser Amazon SES dans une région autre que l'ouest des États-Unis (Oregon), remplacez-la par la région que vous souhaitez utiliser. Pour obtenir la liste des régions dans lesquelles Amazon SES est disponible, consultez Amazon Simple Email Service (AmazonSES) dans le Références générales AWS.

    6. Enregistrez AmazonSESSample.java.

    7. Pour créer le projet, choisissez Project (Projet), puis Build Project (Créer un projet).

      Note

      Si cette option est désactivée, la génération automatique est peut-être activée. Dans ce cas, ignorez cette étape.

    8. Pour démarrer le programme et envoyer l'e-mail, choisissez Run (Exécuter), puis à nouveau Run (Exécuter).

    9. Vérifiez la sortie du panneau de la console dans Eclipse. Si l'envoi de l'e-mail aboutit, la console affiche «Email sent!». Dans le cas contraire, elle affiche un message d'erreur.

    10. Si l'e-mail a été envoyé avec succès, connectez-vous au client de messagerie de l'adresse du destinataire. Vous verrez le message que vous avez envoyé.

    PHP

    Cette rubrique explique comment utiliser le AWS SDK for PHPpour envoyer un e-mail via AmazonSES.

    Avant de commencer, exécutez les tâches suivantes :
    • Installation PHP — PHP est disponible à l'adresse http://php.net/downloads.php. Ce didacticiel nécessite PHP la version 5.5 ou supérieure. Après l'installationPHP, ajoutez le chemin d'accès PHP à vos variables d'environnement afin de pouvoir exécuter PHP à partir de n'importe quelle invite de commande. Le code de ce didacticiel a été testé à l'aide de la version PHP 7.2.7.

    • Installez la AWS SDK for PHP version 3 —Pour les instructions de téléchargement et d'installation, consultez la AWS SDK for PHP documentation. Le code de ce didacticiel a été testé à l'aide de la version 3.64.13 du. SDK

    Pour envoyer un e-mail via Amazon à SES l'aide du AWS SDK for PHP
    1. Dans un éditeur de texte, créez un fichier nommé amazon-ses-sample.php. Collez le code suivant :

      <?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. Dans amazon-ses-sample.php, remplacez les éléments suivants par vos propres valeurs :

      • path_to_sdk_inclusion—Remplacez par le chemin requis pour l'inclure AWS SDK for PHP dans le programme. Pour en savoir plus, consultez la documentation AWS SDK for PHP.

      • sender@example.com—Remplacez par une adresse e-mail que vous avez vérifiée auprès d'AmazonSES. Pour plus d’informations, consultez Identités vérifiées. Les adresses e-mail d'Amazon SES font la distinction majuscules/majuscules. Assurez-vous que l'adresse que vous saisissez est exactement la même que celle que vous avez vérifiée.

      • recipient1@example.com, recipient2@example.com – Remplacez par les adresses des destinataires. Si votre compte est encore dans l'environnement de test (sandbox), les adresses de destination doivent également être vérifiées. Pour plus d'informations, consultez Demande d'accès à la production (sortie du SES sandbox Amazon). Assurez-vous que l'adresse que vous saisissez est exactement la même que celle que vous avez vérifiée.

      • (Facultatif) ConfigSet– Si vous souhaitez utiliser un jeu de configurations lors de l'envoi de cet e-mail, remplacez cette valeur par le nom du jeu de configurations. Pour en savoir plus sur les jeux de configuration, consultez Utilisation des ensembles de configuration dans Amazon SES.

      • (Facultatif) us-west-2 —Si vous souhaitez utiliser Amazon SES dans une région autre que l'ouest des États-Unis (Oregon), remplacez-la par la région que vous souhaitez utiliser. Pour obtenir la liste des régions dans lesquelles Amazon SES est disponible, consultez Amazon Simple Email Service (AmazonSES) dans le Références générales AWS.

    3. Enregistrez amazon-ses-sample.php.

    4. Pour exécuter le programme, ouvrez une invite de commande dans le même répertoire que amazon-ses-sample.php, puis entrez la commande suivante :

      $ php amazon-ses-sample.php
    5. Vérifiez la sortie. Si l'envoi de l'e-mail aboutit, la console affiche «Email sent!». Dans le cas contraire, elle affiche un message d'erreur.

      Note

      Si vous rencontrez une erreur « c URL error 60 : problème de SSL certificat » lorsque vous exécutez le programme, téléchargez le dernier bundle CA comme décrit dans la AWS SDK for PHP documentation. Ensuite, dans amazon-ses-sample.php, ajoutez les lignes suivantes dans le tableau SesClient::factory, remplacez path_of_certs par le chemin d'accès à la solution groupée d'autorité de certification (CA) téléchargé, et exécutez à nouveau le programme.

      'http' => [ 'verify' => 'path_of_certs\ca-bundle.crt' ]
    6. Connectez-vous au client de messagerie de l'adresse du destinataire. Vous verrez le message que vous avez envoyé.

    Ruby

    Cette rubrique explique comment utiliser le AWS SDK for Rubypour envoyer un e-mail via AmazonSES.

    Avant de commencer, exécutez les tâches suivantes :
    • Installer Ruby – Ruby est disponible à l'adresse https://www.ruby-lang.org/en/downloads/. Le code inclus dans ce didacticiel a été testé avec Ruby 1.9.3. Après avoir installé Ruby, ajoutez le chemin d'accès à Ruby dans vos variables d'environnement afin de pouvoir exécuter Ruby à partir de n'importe quelle invite de commande.

    • Installez le AWS SDK for Ruby —Pour obtenir des instructions de téléchargement et d'installation, consultez la section Installation du AWS SDK for Ruby dans le guide du AWS SDK for Ruby développeur. L'exemple de code inclus dans ce didacticiel a été testé avec la version 2.9.36 du kit AWS SDK for Ruby.

    • Création d'un fichier d'informations d'identification partagé – Pour que l'exemple de code fourni dans cette section fonctionne correctement, vous devez créer un fichier d'informations d'identification partagé. Pour plus d’informations, consultez Création d'un fichier d'informations d'identification partagé à utiliser lors de l'envoi d'e-mails via Amazon à SES l'aide d'un AWS SDK.

    Pour envoyer un e-mail via Amazon à SES l'aide du AWS SDK for Ruby
    1. Dans un éditeur de texte, créez un fichier nommé amazon-ses-sample.rb. Collez le code suivant dans le fichier :

      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. Dans amazon-ses-sample.rb, remplacez les éléments suivants par vos propres valeurs :

      • sender@example.com—Remplacez par une adresse e-mail que vous avez vérifiée auprès d'AmazonSES. Pour plus d’informations, consultez Identités vérifiées. Les adresses e-mail d'Amazon SES font la distinction majuscules/majuscules. Assurez-vous que l'adresse que vous saisissez est exactement la même que celle que vous avez vérifiée.

      • recipient@example.com—Remplacez par l'adresse du destinataire. Si votre compte est encore dans l'environnement de test (sandbox), vous devez vérifier cette adresse avant de l'utiliser. Pour plus d'informations, consultez Demande d'accès à la production (sortie du SES sandbox Amazon). Assurez-vous que l'adresse que vous saisissez est exactement la même que celle que vous avez vérifiée.

      • (Facultatif) us-west-2 —Si vous souhaitez utiliser Amazon SES dans une région autre que l'ouest des États-Unis (Oregon), remplacez-la par la région que vous souhaitez utiliser. Pour obtenir la liste des régions dans lesquelles Amazon SES est disponible, consultez Amazon Simple Email Service (AmazonSES) dans le Références générales AWS.

    3. Enregistrez amazon-ses-sample.rb.

    4. Pour exécuter le programme, ouvrez une invite de commande dans le même répertoire que amazon-ses-sample.rb, puis entrez ruby amazon-ses-sample.rb

    5. Vérifiez la sortie. Si l'envoi de l'e-mail aboutit, la console affiche «Email sent!». Dans le cas contraire, elle affiche un message d'erreur.

    6. Connectez-vous au client de messagerie de l'adresse du destinataire. Vous trouverez le message que vous avez envoyé.

    Python

    Cette rubrique explique comment utiliser le AWS SDK for Python (Boto)pour envoyer un e-mail via AmazonSES.

    Avant de commencer, exécutez les tâches suivantes :
    • Vérifiez votre adresse e-mail auprès d'Amazon SES —Avant de pouvoir envoyer un e-mail à AmazonSES, vous devez vérifier que vous possédez l'adresse e-mail de l'expéditeur. Si votre compte est toujours dans le SES sandbox d'Amazon, vous devez également vérifier l'adresse e-mail du destinataire. Nous vous recommandons d'utiliser la SES console Amazon pour vérifier les adresses e-mail. Pour plus d’informations, consultez Création d'une identité d'adresse e-mail.

    • Obtenez vos AWS informations d'identification —Vous avez besoin d'un identifiant de clé d' AWS accès et d'une clé d'accès AWS secrète pour accéder à Amazon à SES l'aide d'unSDK. Vous pouvez trouver vos informations d'identification via la page Informations d'identification de sécurité de la AWS Management Console. Pour en savoir plus sur les informations d'identification, consultez Types d'informations d'identification Amazon SES.

    • Installer Python —Python est disponible sur https://www.python.org/downloads/. Le code inclus dans ce didacticiel a été testé avec Python 2.7.6 et Python 3.6.1. Après avoir installé Python, ajoutez le chemin d'accès à Python dans vos variables d'environnement afin de pouvoir exécuter Python à partir de n'importe quelle invite de commande.

    • Installez le AWS SDK for Python (Boto) —Pour obtenir des instructions de téléchargement et d'installation, consultez la AWS SDK for Python (Boto) documentation. L'exemple de code présenté dans ce didacticiel a été testé à l'aide de la version 1.4.4 de SDK for Python.

    Pour envoyer un e-mail via Amazon SES à SDK l'aide du
    1. Dans un éditeur de texte, créez un fichier nommé amazon-ses-sample.py. Collez le code suivant dans le fichier :

      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. Dans amazon-ses-sample.py, remplacez les éléments suivants par vos propres valeurs :

      • sender@example.com—Remplacez par une adresse e-mail que vous avez vérifiée auprès d'AmazonSES. Pour plus d’informations, consultez Identités vérifiées. Les adresses e-mail d'Amazon SES distinguent les majuscules et minuscules. Assurez-vous que l'adresse que vous saisissez est exactement la même que celle que vous avez vérifiée.

      • recipient@example.com—Remplacez par l'adresse du destinataire. Si votre compte est encore dans l'environnement de test (sandbox), vous devez vérifier cette adresse avant de l'utiliser. Pour plus d'informations, consultez Demande d'accès à la production (sortie du SES sandbox Amazon). Assurez-vous que l'adresse que vous saisissez est exactement la même que celle que vous avez vérifiée.

      • (Facultatif) us-west-2 —Si vous souhaitez utiliser Amazon SES dans une région autre que l'ouest des États-Unis (Oregon), remplacez-la par la région que vous souhaitez utiliser. Pour obtenir la liste des régions dans lesquelles Amazon SES est disponible, consultez Amazon Simple Email Service (AmazonSES) dans le Références générales AWS.

    3. Enregistrez amazon-ses-sample.py.

    4. Pour exécuter le programme, ouvrez une invite de commande dans le même répertoire que amazon-ses-sample.py, puis entrez python amazon-ses-sample.py.

    5. Vérifiez la sortie. Si l'envoi de l'e-mail aboutit, la console affiche «Email sent!». Dans le cas contraire, elle affiche un message d'erreur.

    6. Connectez-vous au client de messagerie de l'adresse du destinataire. Vous verrez le message que vous avez envoyé.