Envío de correo electrónico a través de Amazon SES mediante un AWS SDK - Amazon Simple Email Service

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Envío de correo electrónico a través de Amazon SES mediante un AWS SDK

Puede usar un AWS SDK para enviar correos electrónicos a través de Amazon SES. AWS Los SDK están disponibles para varios lenguajes de programación. Para obtener más información, consulte Herramientas para Amazon Web Services.

Requisitos previos

Se deben completar los siguientes requisitos previos para completar cualquiera de los ejemplos de código de la sección siguiente:

Ejemplos de código

importante

En los tutoriales siguientes, deberá enviarse un correo electrónico a usted mismo para poder verificar si lo recibe. Para seguir experimentando o realizar pruebas de carga, utilice el simulador de buzón de correo de Amazon SES. Los correos electrónicos que envíe al simulador de buzón de correo no se contabilizan en su cuota de envío ni en sus tasas de rebotes y reclamos. Para obtener más información, consulte Uso del simulador de buzón de correo de forma manual.

Seleccione un lenguaje de programación para ver el ejemplo para dicho idioma:
    .NET

    El siguiente procedimiento muestra cómo enviar un correo electrónico a través de Amazon SES mediante Visual Studio y AWS SDK for .NET.

    Esta solución se ha probado utilizando los siguientes componentes:

    • Microsoft Visual Studio Community 2017, versión 15.4.0.

    • Microsoft .NET Framework versión 4.6.1.

    • El paquete AWSSDK .Core (versión 3.3.19), instalado mediante. NuGet

    • AWSSDKEl. SimpleEmail paquete (versión 3.3.6.1), instalado usando. NuGet

    Antes de empezar, lleva a cabo las tareas siguientes:
    Para enviar un correo electrónico utilizando el AWS SDK for .NET
    1. Cree un proyecto nuevo realizando los pasos siguientes:

      1. Inicie Visual Studio.

      2. En el menú File (Archivo), elija New (Nuevo), Project (Proyecto).

      3. En la ventana New Project, en el panel de la izquierda, expanda Installed y, a continuación, expanda Visual C#.

      4. En el panel de la derecha, seleccione Console App (.NET Framework).

      5. En Name (Nombre), escriba AmazonSESSample y, a continuación, elija OK (Aceptar).

    2. NuGet Úselos para incluir los paquetes de Amazon SES en su solución siguiendo los siguientes pasos:

      1. En el panel Explorador de soluciones, haga clic con el botón derecho en su proyecto y, a continuación, seleccione Administrar NuGet paquetes.

      2. En la pestaña NuGetAmazonsessSample, selecciona Browse.

      3. En el campo de búsqueda, escriba AWSSDK.SimpleEmail.

      4. Elija el. AWSSDK SimpleEmailpaquete y, a continuación, selecciona Instalar.

      5. En la ventana Preview Changes, elija OK.

    3. En la pestaña Program.cs, pegue el código siguiente:

      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. En el editor de código, haga lo siguiente:

      • Reemplace sender@example.com por la dirección de correo electrónico del remitente. Esta dirección debe verificarse. Para obtener más información, consulte Identidades verificadas en Amazon SES.

      • Reemplace recipient@example.com por la dirección de destino. Si su cuenta está todavía en el entorno de pruebas, esta dirección también se debe verificar.

      • ConfigSetSustitúyalo por el nombre del conjunto de configuraciones que se utilizará al enviar este correo electrónico.

      • Sustituya USWest2 por el nombre del Región de AWS punto de conexión que utiliza para enviar correos electrónicos mediante Amazon SES. Para ver una lista de las regiones donde Amazon SES está disponible, consulte Amazon Simple Email Service (Amazon SES) en la Referencia general de AWS.

      Cuando termine, guarde Program.cs.

    5. Cree y ejecute la aplicación completando los pasos siguientes:

      1. En el menú Build, elija Build Solution.

      2. En el menú Debug, elija Start Debugging. Aparece una ventana de consola.

    6. Revise la salida de la consola. Si el correo electrónico se envía correctamente, la consola muestra The email was sent successfully.

    7. Si el correo electrónico se ha enviado correctamente, inicie sesión en el cliente de correo electrónico de la dirección del destinatario. Ahí podrá ver el mensaje que ha enviado.

    Java

    El siguiente procedimiento muestra cómo utilizar el IDE de Eclipse para desarrolladores de Java EE y cómo AWS Toolkit for Eclipsecrear un proyecto de AWS SDK y modificar el código de Java para enviar un correo electrónico a través de Amazon SES.

    Antes de empezar, lleva a cabo las tareas siguientes:
    • Instale Eclipse: Eclipse está disponible en https://www.eclipse.org/downloads. El código en este tutorial se ha probado mediante Eclipse Neon.3 (versión 4.6.3), ejecutando la versión 1.8 de Java Runtime Environment (JRE).

    • Instale el AWS Toolkit for Eclipse: las instrucciones para añadirlo AWS Toolkit for Eclipse a su instalación de Eclipse están disponibles en https://aws.amazon.com/eclipse. El código de este tutorial se ha probado utilizando la versión 2.3.1 del AWS Toolkit for Eclipse.

    Para enviar un correo electrónico utilizando el AWS SDK for Java
    1. Cree un proyecto AWS Java en Eclipse realizando los siguientes pasos:

      1. Inicie Eclipse.

      2. En el menú File, elija New y, a continuación, elija Other. En la ventana New, expanda la carpeta AWS y, a continuación, elija AWS Java Project.

      3. En el cuadro de diálogo Nuevo proyecto AWS Java, haga lo siguiente:

        1. Para Project name, escriba un nombre de proyecto.

        2. En AWS SDK for Java Ejemplos, selecciona Amazon Simple Email Service JavaMail Sample.

        3. Seleccione Finalizar.

    2. En Eclipse, en la página Package Explorer, amplíe su proyecto.

    3. En su proyecto, expanda la carpeta src/main/java, la carpeta com.amazon.aws.samples y, a continuación, haga doble clic en AmazonSESSample.java.

    4. Reemplace todo el contenido de AmazonSESSample.java por el siguiente código:

      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. En AmazonSESSample.java, reemplace lo siguiente por sus propios valores:

      importante

      Las direcciones de correo electrónico distinguen entre mayúsculas y minúsculas. Asegúrese de que las direcciones sean exactamente las mismas que las que haya verificado.

      • SENDER@EXAMPLE.COM: reemplácelo por su dirección de correo electrónico de remitente (“From”). Debe verificar esta dirección antes de ejecutar este programa. Para obtener más información, consulte Identidades verificadas en Amazon SES.

      • RECIPIENT@EXAMPLE.COM: reemplácelo por su dirección de correo electrónico de destinatario (“To”). Si su cuenta está todavía en el entorno de pruebas, debe verificar esta dirección antes de utilizarla. Para obtener más información, consulte Solicitar acceso a la producción (salir del entorno de pruebas de Amazon SES).

      • (Opcional) us-west-2: si desea utilizar Amazon SES en una región distinta a la de EE. UU. Oeste (Oregón), reemplácela por la región que desee utilizar. Para ver una lista de las regiones donde Amazon SES está disponible, consulte Amazon Simple Email Service (Amazon SES) en la Referencia general de AWS.

    6. Guarde AmazonSESSample.java.

    7. Para crear el proyecto, elija Project y, a continuación, elija Build Project.

      nota

      Si esta opción está deshabilitada, la creación automática podría estar habilitada; en tal caso, omita este paso.

    8. Para iniciar el programa y enviar el correo electrónico, elija Run y, a continuación, vuelva a elegir Run.

    9. Revise la salida del panel de consola en Eclipse. Si el correo electrónico se ha enviado correctamente, la consola muestra "Email sent!". De lo contrario, muestra un mensaje de error.

    10. Si el correo electrónico se ha enviado correctamente, inicie sesión en el cliente de correo electrónico de la dirección del destinatario. Ahí podrá ver el mensaje que ha enviado.

    PHP

    En este tema, se muestra cómo utilizar AWS SDK for PHP para enviar un correo electrónico a través de Amazon SES.

    Antes de empezar, lleva a cabo las tareas siguientes:
    • Instale PHP: PHP está disponible en http://php.net/downloads.php. Este tutorial requiere PHP versión 5.5 o posterior. Después de instalar PHP, agregue la ruta a PHP en sus variables de entorno para que pueda ejecutar PHP desde cualquier símbolo del sistema. El código de este tutorial se ha probado con PHP 7.2.7.

    • Instale la AWS SDK for PHP versión 3: para ver las instrucciones de descarga e instalación, consulte la AWS SDK for PHP documentación. El código de este tutorial se ha probado utilizando la versión 3.64.13 del SDK.

    Para enviar un correo electrónico a través de Amazon SES utilizando el AWS SDK for PHP
    1. En un editor de texto, cree un archivo con el nombre amazon-ses-sample.php. Pegue el siguiente código:

      <?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. En amazon-ses-sample.php, reemplace lo siguiente por sus propios valores:

      • path_to_sdk_inclusion—Sustitúyala por la ruta requerida para incluirla AWS SDK for PHP en el programa. Para obtener más información, consulte la Documentación de AWS SDK for PHP.

      • sender@example.com: reemplace esta dirección por una dirección de email que haya verificado con Amazon SES. Para obtener más información, consulte Identidades verificadas. Las direcciones de email en Amazon SES distinguen entre mayúsculas y minúsculas. Asegúrese de que la dirección que introduce sea exactamente la misma que la que haya verificado.

      • recipient1@example.com, recipient2@example.com: sustitúyalos por la direcciones de los destinatarios. Si su cuenta está todavía en el entorno de pruebas, las direcciones de los destinatarios también se deben verificar. Para obtener más información, consulte Solicitar acceso a la producción (salir del entorno de pruebas de Amazon SES). Asegúrese de que la dirección que introduce sea exactamente la misma que la que haya verificado.

      • (Opcional) ConfigSet: si desea utilizar un conjunto de configuración al enviar este correo electrónico, sustituya este valor por el nombre del conjunto de configuración. Para obtener más información acerca de los conjuntos de configuración, consulte Uso de conjuntos de configuración en Amazon SES.

      • (Opcional) us-west-2: si desea utilizar Amazon SES en una región distinta a la de EE. UU. Oeste (Oregón), reemplácela por la región que desee utilizar. Para ver una lista de las regiones donde Amazon SES está disponible, consulte Amazon Simple Email Service (Amazon SES) en la Referencia general de AWS.

    3. Guarde amazon-ses-sample.php.

    4. Para ejecutar el programa, abra un símbolo del sistema en el directorio en que se encuentra amazon-ses-sample.php y, a continuación, escriba el comando siguiente:

      $ php amazon-ses-sample.php
    5. Revise la salida. Si el correo electrónico se ha enviado correctamente, la consola muestra "Email sent!". De lo contrario, muestra un mensaje de error.

      nota

      Si detecta un error "cURL error 60: SSL certificate problem" (Error 60 de cURL: problema con el certificado SSL) al ejecutar el programa, descargue el último paquete de CA, tal como se describe en la documentación del AWS SDK for PHP. A continuación, en amazon-ses-sample.php, añada las siguientes líneas a la matriz SesClient::factory, reemplace path_of_certs por la ruta al paquete de CA que ha descargado y vuelva a ejecutar el programa.

      'http' => [ 'verify' => 'path_of_certs\ca-bundle.crt' ]
    6. Inicie sesión en el cliente de correo electrónico de la dirección del destinatario. Ahí podrá ver el mensaje que ha enviado.

    Ruby

    En este tema, se muestra cómo utilizar AWS SDK for Ruby para enviar un correo electrónico a través de Amazon SES.

    Antes de empezar, lleva a cabo las tareas siguientes:
    Para enviar un correo electrónico a través de Amazon SES utilizando el AWS SDK for Ruby
    1. En un editor de texto, cree un archivo con el nombre amazon-ses-sample.rb. Pegue el código siguiente en el archivo:

      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. En amazon-ses-sample.rb, reemplace lo siguiente por sus propios valores:

      • sender@example.com: reemplace esta dirección por una dirección de email que haya verificado con Amazon SES. Para obtener más información, consulte Identidades verificadas. Las direcciones de email en Amazon SES distinguen entre mayúsculas y minúsculas. Asegúrese de que la dirección que introduce sea exactamente la misma que la que haya verificado.

      • recipient@example.com: reemplace esta dirección por la dirección del destinatario. Si su cuenta está todavía en el entorno de pruebas, debe verificar esta dirección antes de utilizarla. Para obtener más información, consulte Solicitar acceso a la producción (salir del entorno de pruebas de Amazon SES). Asegúrese de que la dirección que introduce sea exactamente la misma que la que haya verificado.

      • (Opcional) us-west-2: si desea utilizar Amazon SES en una región distinta a la de EE. UU. Oeste (Oregón), reemplácela por la región que desee utilizar. Para ver una lista de las regiones donde Amazon SES está disponible, consulte Amazon Simple Email Service (Amazon SES) en la Referencia general de AWS.

    3. Guarde amazon-ses-sample.rb.

    4. Para ejecutar el programa, abra un símbolo del sistema en el directorio en que se encuentra amazon-ses-sample.rb y, a continuación, escriba ruby amazon-ses-sample.rb.

    5. Revise la salida. Si el correo electrónico se ha enviado correctamente, la consola muestra "Email sent!". De lo contrario, muestra un mensaje de error.

    6. Inicie sesión en el cliente de correo electrónico de la dirección del destinatario. Encontrará el mensaje que ha enviado.

    Python

    En este tema, se muestra cómo utilizar AWS SDK for Python (Boto) para enviar un correo electrónico a través de Amazon SES.

    Antes de empezar, lleva a cabo las tareas siguientes:
    • Verifique su dirección de correo electrónico con Amazon SES: para poder enviar correo electrónico con Amazon SES, debe verificar que es propietario de la dirección de correo electrónico del remitente. Si su cuenta aún está en el entorno de pruebas de Amazon SES, también tiene que verificar la dirección de correo electrónico del destinatario. Le recomendamos que utilice la consola de Amazon SES para verificar las direcciones de correo electrónico. Para obtener más información, consulte Creación de una identidad de dirección de correo electrónico.

    • Obtenga sus AWS credenciales: necesita un identificador de clave de AWS acceso y una clave de acceso AWS secreta para acceder a Amazon SES mediante un SDK. Puede encontrar sus credenciales utilizando la página Security Credentials de la AWS Management Console. Para obtener más información acerca de las credenciales, consulte Tipos de credenciales de Amazon SES.

    • Instale Python: Python está disponible en https://www.python.org/downloads/. El código de este tutorial se ha probado utilizando Python 2.7.6 y Python 3.6.1. Después de instalar Python, añada la ruta a Python a sus variables de entorno para que pueda ejecutar Python desde cualquier símbolo del sistema.

    • Instale el AWS SDK for Python (Boto): para ver las instrucciones de descarga e instalación, consulte la AWS SDK for Python (Boto) documentación. El código de muestra de este tutorial se ha probado con la versión 1.4.4 del SDK para Python.

    Para enviar un correo electrónico a través de Amazon SES con el SDK para Python.
    1. En un editor de texto, cree un archivo con el nombre amazon-ses-sample.py. Pegue el código siguiente en el archivo:

      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. En amazon-ses-sample.py, reemplace lo siguiente por sus propios valores:

      • sender@example.com: reemplace esta dirección por una dirección de email que haya verificado con Amazon SES. Para obtener más información, consulte Identidades verificadas. Las direcciones de correo electrónico en Amazon SES distinguen entre mayúsculas y minúsculas. Asegúrese de que la dirección que introduce sea exactamente la misma que la que haya verificado.

      • recipient@example.com: reemplace esta dirección por la dirección del destinatario. Si su cuenta está todavía en el entorno de pruebas, debe verificar esta dirección antes de utilizarla. Para obtener más información, consulte Solicitar acceso a la producción (salir del entorno de pruebas de Amazon SES). Asegúrese de que la dirección que introduce sea exactamente la misma que la que haya verificado.

      • (Opcional) us-west-2: si desea utilizar Amazon SES en una región distinta a la de EE. UU. Oeste (Oregón), reemplácela por la región que desee utilizar. Para ver una lista de las regiones donde Amazon SES está disponible, consulte Amazon Simple Email Service (Amazon SES) en la Referencia general de AWS.

    3. Guarde amazon-ses-sample.py.

    4. Para ejecutar el programa, abra un símbolo del sistema en el directorio en que se encuentra amazon-ses-sample.py y, a continuación, escriba python amazon-ses-sample.py.

    5. Revise la salida. Si el correo electrónico se ha enviado correctamente, la consola muestra "Email sent!". De lo contrario, muestra un mensaje de error.

    6. Inicie sesión en el cliente de correo electrónico de la dirección del destinatario. Ahí podrá ver el mensaje que ha enviado.