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

Enviar correo electrónico a través de Amazon SES mediante un AWS SDK

Puedes usar un AWS SDKpara enviar correos electrónicos a través de AmazonSES. AWS SDKsestá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 realizando pruebas de carga, usa el simulador de SES buzones de Amazon. 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 el 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. NETFramework 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 mediante 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, selecciona Console App (. NETMarco).

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

    2. NuGet Úsalos para incluir los SES paquetes de Amazon en tu solución siguiendo estos 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 mazonSESSample pestaña NuGet: A, elija Examinar.

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

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

      • Reemplazar sender@example.com con la dirección de correo electrónico «De:». Esta dirección debe verificarse. Para obtener más información, consulte Identidades verificadas en Amazon SES.

      • Reemplazar recipient@example.com con la dirección «Para:». Si su cuenta está todavía en el entorno de pruebas, esta dirección también se debe verificar.

      • Reemplazar ConfigSet con el nombre del conjunto de configuraciones que se utilizará al enviar este correo electrónico.

      • Reemplazar USWest2 con el nombre del Región de AWS punto final que utilizas para enviar correos electrónicos a través de AmazonSES. Para ver una lista de las regiones en las SES que Amazon está disponible, consulta Amazon Simple Email Service (AmazonSES) 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 le muestra cómo utilizar Eclipse IDE para desarrolladores de Java EE y AWS Toolkit for Eclipsepara crear un AWS SDKproyecte y modifique el código Java para enviar un correo electrónico a través de AmazonSES.

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

    • Instala el AWS Toolkit for Eclipse—Instrucciones para añadir el 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 probó con la versión 2.3.1 del AWS Toolkit for Eclipse.

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

      1. Inicie Eclipse.

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

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

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

        2. Bajo el título AWS SDK for Java Ejemplos, selecciona Amazon Simple Email Service JavaMail Sample 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 SES Amazon).

      • (Opcional) us-west-2: si quieres usar Amazon SES en una región que no sea el oeste de EE. UU. (Oregón), sustitúyela por la región que deseas usar. Para ver una lista de las regiones en las SES que Amazon está disponible, consulta Amazon Simple Email Service (AmazonSES) 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 el AWS SDK for PHPpara enviar un correo electrónico a través de AmazonSES.

    Antes de empezar, lleva a cabo las tareas siguientes:
    • Instalar PHP: PHP está disponible en http://php.net/downloads.php. Este tutorial requiere PHP la versión 5.5 o superior. Tras la instalaciónPHP, añada la ruta a PHP las variables de entorno para que pueda ejecutarla PHP desde cualquier línea de comandos. El código de este tutorial se probó con la versión PHP 7.2.7.

    • Instale el 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 probó con la versión 3.64.13 de. 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 incluir la AWS SDK for PHP en el programa. Para obtener más información, consulte la .AWS SDK for PHP documentación.

      • sender@example.com—Sustitúyala por una dirección de correo electrónico que hayas verificado con AmazonSES. Para obtener más información, consulte Identidades verificadas. Las direcciones de correo electrónico de Amazon SES distinguen mayúsculas de 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 SES Amazon). 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 quieres usar Amazon SES en una región que no sea el oeste de EE. UU. (Oregón), sustitúyela por la región que deseas usar. Para ver una lista de las regiones en las SES que Amazon está disponible, consulta Amazon Simple Email Service (AmazonSES) 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 aparece el error «c URL error 60: problema con el SSL certificado» al ejecutar el programa, descarga el paquete de CA más reciente tal y como se describe en AWS SDK for PHP documentación. 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 la AWS SDK for Rubypara enviar un correo electrónico a través de AmazonSES.

    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—Sustitúyala por una dirección de correo electrónico que hayas verificado con AmazonSES. Para obtener más información, consulte Identidades verificadas. Las direcciones de correo electrónico de Amazon SES distinguen mayúsculas de 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 SES Amazon). Asegúrese de que la dirección que introduce sea exactamente la misma que la que haya verificado.

      • (Opcional) us-west-2: si quieres usar Amazon SES en una región que no sea el oeste de EE. UU. (Oregón), sustitúyela por la región que deseas usar. Para ver una lista de las regiones en las SES que Amazon está disponible, consulta Amazon Simple Email Service (AmazonSES) 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 el AWS SDK for Python (Boto)para enviar un correo electrónico a través de AmazonSES.

    Antes de empezar, lleva a cabo las tareas siguientes:
    • Verifica tu dirección de correo electrónico con Amazon SES: antes de poder enviar un correo electrónico con AmazonSES, debes comprobar que eres el propietario de la dirección de correo electrónico del remitente. Si tu cuenta sigue en el entorno limitado de SES Amazon, también debes verificar la dirección de correo electrónico del destinatario. Te recomendamos que utilices la SES consola de Amazon 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.

    • Obtén tu AWS credenciales: necesita una AWS ID de clave de acceso y AWS clave de acceso secreta para acceder a Amazon SES mediante unSDK. Puede encontrar sus credenciales en la página de credenciales de seguridad del AWS Management Console. Para obtener más información sobre las credenciales, consulteTipos de credenciales de Amazon SES.

    • Instalar 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 ejemplo de este tutorial se probó con la versión 1.4.4 de SDK para Python.

    Para enviar un correo electrónico a través de Amazon SES usando 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—Sustitúyala por una dirección de correo electrónico que hayas verificado con AmazonSES. Para obtener más información, consulte Identidades verificadas. Las direcciones de correo electrónico de Amazon SES distinguen mayúsculas de 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 SES Amazon). Asegúrese de que la dirección que introduce sea exactamente la misma que la que haya verificado.

      • (Opcional) us-west-2: si quieres usar Amazon SES en una región que no sea el oeste de EE. UU. (Oregón), sustitúyela por la región que deseas usar. Para ver una lista de las regiones en las SES que Amazon está disponible, consulta Amazon Simple Email Service (AmazonSES) 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.