

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
<a name="send-an-email-using-sdk-programmatically"></a>

Puede usar un AWS SDK para enviar correos electrónicos a través de Amazon SES. AWS SDKs están disponibles para varios lenguajes de programación. Para obtener más información, consulte [Herramientas para Amazon Web Services](https://aws.amazon.com/tools/#sdk).

## Requisitos previos
<a name="send-an-email-using-sdk-programmatically-prereqs"></a>

Se deben completar los siguientes requisitos previos para completar cualquiera de los ejemplos de código de la sección siguiente:
+ Si aún no lo ha hecho, realice las tareas de [Configuración de Amazon Simple Email Service](setting-up.md).
+ **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](creating-identities.md#verify-email-addresses-procedure). 
+ **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 (Credenciales de seguridad)](https://console.aws.amazon.com/iam/home?#security_credential) de la Consola de administración de AWS. Para obtener más información acerca de las credenciales, consulte [Tipos de credenciales de Amazon SES](send-email-concepts-credentials.md).
+ **Cree un archivo de credenciales compartidas**: para que el código de muestra de esta sección funcione correctamente, debe crear un archivo de credenciales compartidas. Para obtener más información, consulte [Crear un archivo de credenciales compartido para usarlo al enviar correos electrónicos a través de Amazon SES mediante un AWS SDK](create-shared-credentials-file.md).

## Ejemplos de código
<a name="send-an-email-using-sdk-programmatically-examples"></a>

**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](send-an-email-from-console.md#send-email-simulator).

**Topics**

------
#### [ .NET ]

El siguiente procedimiento muestra cómo enviar un correo electrónico a través de Amazon SES mediante [Visual Studio](https://www.visualstudio.com/) y AWS SDK para .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:**
+ **Instale Visual Studio**[: Visual Studio está disponible en/. https://www.visualstudio.com](https://www.visualstudio.com/)

**Para enviar un correo electrónico mediante el AWS SDK para .NET**

1. Cree un proyecto nuevo realizando los pasos siguientes:

   1. Inicie Visual Studio.

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

   1. En la ventana **New Project**, en el panel de la izquierda, expanda **Installed** y, a continuación, expanda **Visual C\$1**.

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

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

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

   1. En la SESSample pestaña **NuGet: Amazon**, selecciona **Explorar**.

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

   1. Elige el **AWSSDK. SimpleEmail**paquete y, a continuación, selecciona **Instalar**.

   1. En la ventana **Preview Changes**, elija **OK**.

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

   ```
    1. using Amazon;
    2. using System;
    3. using System.Collections.Generic;
    4. using Amazon.SimpleEmail;
    5. using Amazon.SimpleEmail.Model;
    6. 
    7. namespace AmazonSESSample 
    8. {
    9.     class Program
   10.     {
   11.         // Replace sender@example.com with your "From" address.
   12.         // This address must be verified with Amazon SES.
   13.         static readonly string senderAddress = "sender@example.com";
   14. 
   15.         // Replace recipient@example.com with a "To" address. If your account
   16.         // is still in the sandbox, this address must be verified.
   17.         static readonly string receiverAddress = "recipient@example.com";
   18. 
   19.         // The configuration set to use for this email. If you do not want to use a
   20.         // configuration set, comment out the following property and the
   21.         // ConfigurationSetName = configSet argument below. 
   22.         static readonly string configSet = "ConfigSet";
   23. 
   24.         // The subject line for the email.
   25.         static readonly string subject = "Amazon SES test (AWS SDK para .NET)";
   26. 
   27.         // The email body for recipients with non-HTML email clients.
   28.         static readonly string textBody = "Amazon SES Test (.NET)\r\n" 
   29.                                         + "This email was sent through Amazon SES "
   30.                                         + "using the AWS SDK para .NET.";
   31.         
   32.         // The HTML body of the email.
   33.         static readonly string htmlBody = @"<html>
   34. <head></head>
   35. <body>
   36.   <h1>Amazon SES Test (SDK para .NET)</h1>
   37.   <p>This email was sent with
   38.     <a href='https://aws.amazon.com/ses/'>Amazon SES</a> using the
   39.     <a href='https://aws.amazon.com/sdk-for-net/'> AWS SDK para .NET</a>.</p>
   40. </body>
   41. </html>";
   42. 
   43.         static void Main(string[] args)
   44.         {
   45.             // Replace USWest2 with the AWS Region you're using for Amazon SES.
   46.             // Acceptable values are EUWest1, USEast1, and USWest2.
   47.             using (var client = new AmazonSimpleEmailServiceClient(RegionEndpoint.USWest2))
   48.             {
   49.                 var sendRequest = new SendEmailRequest
   50.                 {
   51.                     Source = senderAddress,
   52.                     Destination = new Destination
   53.                     {
   54.                         ToAddresses =
   55.                         new List<string> { receiverAddress }
   56.                     },
   57.                     Message = new Message
   58.                     {
   59.                         Subject = new Content(subject),
   60.                         Body = new Body
   61.                         {
   62.                             Html = new Content
   63.                             {
   64.                                 Charset = "UTF-8",
   65.                                 Data = htmlBody
   66.                             },
   67.                             Text = new Content
   68.                             {
   69.                                 Charset = "UTF-8",
   70.                                 Data = textBody
   71.                             }
   72.                         }
   73.                     },
   74.                     // If you are not using a configuration set, comment
   75.                     // or remove the following line 
   76.                     ConfigurationSetName = configSet
   77.                 };
   78.                 try
   79.                 {
   80.                     Console.WriteLine("Sending email using Amazon SES...");
   81.                     var response = client.SendEmail(sendRequest);
   82.                     Console.WriteLine("The email was sent successfully.");
   83.                 }
   84.                 catch (Exception ex)
   85.                 {
   86.                     Console.WriteLine("The email was not sent.");
   87.                     Console.WriteLine("Error message: " + ex.Message);
   88. 
   89.                 }
   90.             }
   91. 
   92.             Console.Write("Press any key to continue...");
   93.             Console.ReadKey();
   94.         }
   95.     }
   96. }
   ```

1. En el editor de código, haga lo siguiente:
   + *sender@example.com*Sustitúyala por 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](verify-addresses-and-domains.md).
   + *recipient@example.com*Sustitúyala por la dirección «Para:». Si su cuenta está todavía en el entorno de pruebas, esta dirección también se debe verificar.
   + *ConfigSet*Sustitúyalo por el nombre del conjunto de configuraciones que se utilizará al enviar este correo electrónico.
   + *USWest2*Sustitúyalo por el nombre del Región de AWS punto de conexión que utilizas 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)](https://docs.aws.amazon.com/general/latest/gr/rande.html#ses_region) en la *Referencia general de AWS*.

   Cuando termine, guarde `Program.cs`.

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

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

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

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

1. 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](http://www.eclipse.org/) y cómo [AWS Toolkit for Eclipse](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/welcome.html)crear 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](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.](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 para Java**

1. Cree un proyecto AWS Java en Eclipse realizando los siguientes pasos:

   1. Inicie Eclipse.

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

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

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

      1. En **AWS SDK para Java Ejemplos**, selecciona **Amazon Simple Email Service JavaMail Sample**.

      1. Seleccione **Finalizar**.

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

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

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

   ```
    1. package com.amazonaws.samples;
    2. 
    3. import java.io.IOException;
    4. 
    5. import com.amazonaws.regions.Regions;
    6. import com.amazonaws.services.simpleemail.AmazonSimpleEmailService;
    7. import com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClientBuilder;
    8. import com.amazonaws.services.simpleemail.model.Body;
    9. import com.amazonaws.services.simpleemail.model.Content;
   10. import com.amazonaws.services.simpleemail.model.Destination;
   11. import com.amazonaws.services.simpleemail.model.Message;
   12. import com.amazonaws.services.simpleemail.model.SendEmailRequest; 
   13. 
   14. public class AmazonSESSample {
   15. 
   16.   // Replace sender@example.com with your "From" address.
   17.   // This address must be verified with Amazon SES.
   18.   static final String FROM = "sender@example.com";
   19. 
   20.   // Replace recipient@example.com with a "To" address. If your account
   21.   // is still in the sandbox, this address must be verified.
   22.   static final String TO = "recipient@example.com";
   23. 
   24.   // The configuration set to use for this email. If you do not want to use a
   25.   // configuration set, comment the following variable and the 
   26.   // .withConfigurationSetName(CONFIGSET); argument below.
   27.   static final String CONFIGSET = "ConfigSet";
   28. 
   29.   // The subject line for the email.
   30.   static final String SUBJECT = "Amazon SES test (AWS SDK para Java)";
   31.   
   32.   // The HTML body for the email.
   33.   static final String HTMLBODY = "<h1>Amazon SES test (AWS SDK para Java)</h1>"
   34.       + "<p>This email was sent with <a href='https://aws.amazon.com/ses/'>"
   35.       + "Amazon SES</a> using the <a href='https://aws.amazon.com/sdk-for-java/'>" 
   36.       + "AWS SDK for Java</a>";
   37. 
   38.   // The email body for recipients with non-HTML email clients.
   39.   static final String TEXTBODY = "This email was sent through Amazon SES "
   40.       + "using the AWS SDK para Java.";
   41. 
   42.   public static void main(String[] args) throws IOException {
   43. 
   44.     try {
   45.       AmazonSimpleEmailService client = 
   46.           AmazonSimpleEmailServiceClientBuilder.standard()
   47.           // Replace US_WEST_2 with the AWS Region you're using for
   48.           // Amazon SES.
   49.             .withRegion(Regions.US_WEST_2).build();
   50.       SendEmailRequest request = new SendEmailRequest()
   51.           .withDestination(
   52.               new Destination().withToAddresses(TO))
   53.           .withMessage(new Message()
   54.               .withBody(new Body()
   55.                   .withHtml(new Content()
   56.                       .withCharset("UTF-8").withData(HTMLBODY))
   57.                   .withText(new Content()
   58.                       .withCharset("UTF-8").withData(TEXTBODY)))
   59.               .withSubject(new Content()
   60.                   .withCharset("UTF-8").withData(SUBJECT)))
   61.           .withSource(FROM)
   62.           // Comment or remove the next line if you are not using a
   63.           // configuration set
   64.           .withConfigurationSetName(CONFIGSET);
   65.       client.sendEmail(request);
   66.       System.out.println("Email sent!");
   67.     } catch (Exception ex) {
   68.       System.out.println("The email was not sent. Error message: " 
   69.           + ex.getMessage());
   70.     }
   71.   }
   72. }
   ```

1. 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 origen. Debe verificar esta dirección antes de ejecutar este programa. Para obtener más información, consulte [Identidades verificadas en Amazon SES](verify-addresses-and-domains.md).
   + `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 [Solicitud de acceso de producción (salida del entorno de pruebas de Amazon SES)](request-production-access.md).
   + **(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)](https://docs.aws.amazon.com/general/latest/gr/rande.html#ses_region) en la *Referencia general de AWS*.

1. Guarde `AmazonSESSample.java`.

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

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

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

1. 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 para PHP](https://aws.amazon.com/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](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 para PHP versión 3**: para ver las instrucciones de descarga e instalación, consulte la [AWS SDK para PHP documentación](https://docs.aws.amazon.com/aws-sdk-php/v3/guide/getting-started/installation.html). 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 para PHP**

1. En un editor de texto, cree un archivo con el nombre `amazon-ses-sample.php`. Pegue el siguiente código:

   ```
    1. <?php
    2. 
    3. // If necessary, modify the path in the require statement below to refer to the 
    4. // location of your Composer autoload.php file.
    5. require 'vendor/autoload.php';
    6. 
    7. use Aws\Ses\SesClient;
    8. use Aws\Exception\AwsException;
    9. 
   10. // Create an SesClient. Change the value of the region parameter if you're 
   11. // using an AWS Region other than US West (Oregon). Change the value of the
   12. // profile parameter if you want to use a profile in your credentials file
   13. // other than the default.
   14. $SesClient = new SesClient([
   15.     'profile' => 'default',
   16.     'version' => '2010-12-01',
   17.     'region'  => 'us-west-2'
   18. ]);
   19. 
   20. // Replace sender@example.com with your "From" address.
   21. // This address must be verified with Amazon SES.
   22. $sender_email = 'sender@example.com';
   23. 
   24. // Replace these sample addresses with the addresses of your recipients. If
   25. // your account is still in the sandbox, these addresses must be verified.
   26. $recipient_emails = ['recipient1@example.com','recipient2@example.com'];
   27. 
   28. // Specify a configuration set. If you do not want to use a configuration
   29. // set, comment the following variable, and the
   30. // 'ConfigurationSetName' => $configuration_set argument below.
   31. $configuration_set = 'ConfigSet';
   32. 
   33. $subject = 'Amazon SES test (AWS SDK para PHP)';
   34. $plaintext_body = 'This email was sent with Amazon SES using the AWS SDK for PHP.' ;
   35. $html_body =  '<h1>AWS Amazon Simple Email Service Test Email</h1>'.
   36.               '<p>This email was sent with <a href="https://aws.amazon.com/ses/">'.
   37.               'Amazon SES</a> using the <a href="https://aws.amazon.com/sdk-for-php/">'.
   38.               'AWS SDK para PHP</a>.</p>';
   39. $char_set = 'UTF-8';
   40. 
   41. try {
   42.     $result = $SesClient->sendEmail([
   43.         'Destination' => [
   44.             'ToAddresses' => $recipient_emails,
   45.         ],
   46.         'ReplyToAddresses' => [$sender_email],
   47.         'Source' => $sender_email,
   48.         'Message' => [
   49.           'Body' => [
   50.               'Html' => [
   51.                   'Charset' => $char_set,
   52.                   'Data' => $html_body,
   53.               ],
   54.               'Text' => [
   55.                   'Charset' => $char_set,
   56.                   'Data' => $plaintext_body,
   57.               ],
   58.           ],
   59.           'Subject' => [
   60.               'Charset' => $char_set,
   61.               'Data' => $subject,
   62.           ],
   63.         ],
   64.         // If you aren't using a configuration set, comment or delete the
   65.         // following line
   66.         'ConfigurationSetName' => $configuration_set,
   67.     ]);
   68.     $messageId = $result['MessageId'];
   69.     echo("Email sent! Message ID: $messageId"."\n");
   70. } catch (AwsException $e) {
   71.     // output error message if fails
   72.     echo $e->getMessage();
   73.     echo("The email was not sent. Error message: ".$e->getAwsErrorMessage()."\n");
   74.     echo "\n";
   75. }
   ```

1. 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 para PHP en el programa. Para obtener más información, consulte la [Documentación de AWS SDK para PHP](https://docs.aws.amazon.com/aws-sdk-php/v3/guide/getting-started/basic-usage.html). 
   + **`sender@example.com`**: reemplace esta dirección de correo electrónico por una dirección que haya verificado con Amazon SES. Para obtener más información, consulte [Identidades verificadas](verify-addresses-and-domains.md). 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 [Solicitud de acceso de producción (salida del entorno de pruebas de Amazon SES)](request-production-access.md). 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](using-configuration-sets.md).
   + **(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)](https://docs.aws.amazon.com/general/latest/gr/rande.html#ses_region) en la *Referencia general de AWS*.

1. Guarde `amazon-ses-sample.php`.

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

1. 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 para PHP](https://docs.aws.amazon.com/aws-sdk-php/v3/guide/faq.html#what-do-i-do-about-a-curl-ssl-certificate-error). 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.  

   ```
   1. 'http' => [
   2.    'verify' => 'path_of_certs\ca-bundle.crt'
   3. ]
   ```

1. 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 para Ruby](https://aws.amazon.com/sdk-for-ruby/) para enviar un correo electrónico a través de Amazon SES. 

**Antes de empezar, lleva a cabo las tareas siguientes:**
+ **Instalar Ruby**[: Ruby está disponible en https://www.ruby-lang. org/en/downloads](https://www.ruby-lang.org/en/downloads/)/. El código de este tutorial se ha probado con Ruby 1.9.3. Después de instalar Ruby, añada la ruta a Ruby a sus variables de entorno para que pueda ejecutar Ruby desde cualquier símbolo del sistema.
+ **Instale el AWS SDK para Ruby**: para obtener instrucciones de descarga e instalación, consulte [Instalación del AWS SDK para Ruby en la](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/setup-install.html) *Guía para AWS SDK para Ruby desarrolladores*. El código de muestra de este tutorial se ha probado utilizando la versión 2.9.36 del AWS SDK para Ruby.
+ **Cree un archivo de credenciales compartidas**: para que el código de muestra de esta sección funcione correctamente, debe crear un archivo de credenciales compartidas. Para obtener más información, consulte [Crear un archivo de credenciales compartido para usarlo al enviar correos electrónicos a través de Amazon SES mediante un AWS SDK](create-shared-credentials-file.md).

**Para enviar un correo electrónico a través de Amazon SES utilizando el AWS SDK para 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:

   ```
    1. require 'aws-sdk'
    2. 
    3. # Replace sender@example.com with your "From" address.
    4. # This address must be verified with Amazon SES.
    5. sender = "sender@example.com"
    6. 
    7. # Replace recipient@example.com with a "To" address. If your account 
    8. # is still in the sandbox, this address must be verified.
    9. recipient = "recipient@example.com"
   10. 
   11. # Specify a configuration set. If you do not want to use a configuration
   12. # set, comment the following variable and the 
   13. # configuration_set_name: configsetname argument below. 
   14. configsetname = "ConfigSet"
   15.   
   16. # Replace us-west-2 with the AWS Region you're using for Amazon SES.
   17. awsregion = "us-west-2"
   18. 
   19. # The subject line for the email.
   20. subject = "Amazon SES test (AWS SDK para Ruby)"
   21. 
   22. # The HTML body of the email.
   23. htmlbody =
   24.   '<h1>Amazon SES test (AWS SDK para Ruby)</h1>'\
   25.   '<p>This email was sent with <a href="https://aws.amazon.com/ses/">'\
   26.   'Amazon SES</a> using the <a href="https://aws.amazon.com/sdk-for-ruby/">'\
   27.   'AWS SDK para Ruby</a>.'
   28. 
   29. # The email body for recipients with non-HTML email clients.  
   30. textbody = "This email was sent with Amazon SES using the AWS SDK para Ruby."
   31. 
   32. # Specify the text encoding scheme.
   33. encoding = "UTF-8"
   34. 
   35. # Create a new SES resource and specify a region
   36. ses = Aws::SES::Client.new(region: awsregion)
   37. 
   38. # Try to send the email.
   39. begin
   40. 
   41.   # Provide the contents of the email.
   42.   resp = ses.send_email({
   43.     destination: {
   44.       to_addresses: [
   45.         recipient,
   46.       ],
   47.     },
   48.     message: {
   49.       body: {
   50.         html: {
   51.           charset: encoding,
   52.           data: htmlbody,
   53.         },
   54.         text: {
   55.           charset: encoding,
   56.           data: textbody,
   57.         },
   58.       },
   59.       subject: {
   60.         charset: encoding,
   61.         data: subject,
   62.       },
   63.     },
   64.   source: sender,
   65.   # Comment or remove the following line if you are not using 
   66.   # a configuration set
   67.   configuration_set_name: configsetname,
   68.   })
   69.   puts "Email sent!"
   70. 
   71. # If something goes wrong, display an error message.
   72. rescue Aws::SES::Errors::ServiceError => error
   73.   puts "Email not sent. Error message: #{error}"
   74. 
   75. end
   ```

1. 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](verify-addresses-and-domains.md). 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 [Solicitud de acceso de producción (salida del entorno de pruebas de Amazon SES)](request-production-access.md). 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)](https://docs.aws.amazon.com/general/latest/gr/rande.html#ses_region) en la *Referencia general de AWS*.

1. Guarde `amazon-ses-sample.rb`.

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

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

1. 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 para Python (Boto)](https://aws.amazon.com/sdk-for-python/) 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](creating-identities.md#verify-email-addresses-procedure). 
+ **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](https://console.aws.amazon.com/iam/home?#security_credential) de la Consola de administración de AWS. Para obtener más información acerca de las credenciales, consulte [Tipos de credenciales de Amazon SES](send-email-concepts-credentials.md).
+ **Instalar Python: Python** está disponible en [https://www.python.org/downloads/](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 para Python (Boto)—Para ver las instrucciones de** [descarga e instalación, consulte la documentación.AWS SDK para Python (Boto)](https://boto3.readthedocs.io/en/latest/guide/quickstart.html#installation) 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:

   ```
    1. import boto3
    2. from botocore.exceptions import ClientError
    3. 
    4. # Replace sender@example.com with your "From" address.
    5. # This address must be verified with Amazon SES.
    6. SENDER = "Sender Name <sender@example.com>"
    7. 
    8. # Replace recipient@example.com with a "To" address. If your account 
    9. # is still in the sandbox, this address must be verified.
   10. RECIPIENT = "recipient@example.com"
   11. 
   12. # Specify a configuration set. If you do not want to use a configuration
   13. # set, comment the following variable, and the 
   14. # ConfigurationSetName=CONFIGURATION_SET argument below.
   15. CONFIGURATION_SET = "ConfigSet"
   16. 
   17. # If necessary, replace us-west-2 with the AWS Region you're using for Amazon SES.
   18. AWS_REGION = "us-west-2"
   19. 
   20. # The subject line for the email.
   21. SUBJECT = "Amazon SES Test (SDK for Python)"
   22. 
   23. # The email body for recipients with non-HTML email clients.
   24. BODY_TEXT = ("Amazon SES Test (Python)\r\n"
   25.              "This email was sent with Amazon SES using the "
   26.              "AWS SDK para Python (Boto)."
   27.             )
   28.             
   29. # The HTML body of the email.
   30. BODY_HTML = """<html>
   31. <head></head>
   32. <body>
   33.   <h1>Amazon SES Test (SDK for Python)</h1>
   34.   <p>This email was sent with
   35.     <a href='https://aws.amazon.com/ses/'>Amazon SES</a> using the
   36.     <a href='https://aws.amazon.com/sdk-for-python/'> AWS SDK para Python (Boto)</a>.</p>
   37. </body>
   38. </html>
   39.             """            
   40. 
   41. # The character encoding for the email.
   42. CHARSET = "UTF-8"
   43. 
   44. # Create a new SES resource and specify a region.
   45. client = boto3.client('ses',region_name=AWS_REGION)
   46. 
   47. # Try to send the email.
   48. try:
   49.     #Provide the contents of the email.
   50.     response = client.send_email(
   51.         Destination={
   52.             'ToAddresses': [
   53.                 RECIPIENT,
   54.             ],
   55.         },
   56.         Message={
   57.             'Body': {
   58.                 'Html': {
   59.                     'Charset': CHARSET,
   60.                     'Data': BODY_HTML,
   61.                 },
   62.                 'Text': {
   63.                     'Charset': CHARSET,
   64.                     'Data': BODY_TEXT,
   65.                 },
   66.             },
   67.             'Subject': {
   68.                 'Charset': CHARSET,
   69.                 'Data': SUBJECT,
   70.             },
   71.         },
   72.         Source=SENDER,
   73.         # If you are not using a configuration set, comment or delete the
   74.         # following line
   75.         ConfigurationSetName=CONFIGURATION_SET,
   76.     )
   77. # Display an error if something goes wrong.	
   78. except ClientError as e:
   79.     print(e.response['Error']['Message'])
   80. else:
   81.     print("Email sent! Message ID:"),
   82.     print(response['MessageId'])
   ```

1. 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](verify-addresses-and-domains.md). 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 [Solicitud de acceso de producción (salida del entorno de pruebas de Amazon SES)](request-production-access.md). 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)](https://docs.aws.amazon.com/general/latest/gr/rande.html#ses_region) en la *Referencia general de AWS*.

1. Guarde `amazon-ses-sample.py`.

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

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

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

------