

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Envio de e-mail pelo Amazon SES usando um AWS SDK
<a name="send-an-email-using-sdk-programmatically"></a>

Você pode usar um AWS SDK para enviar e-mails pelo Amazon SES. AWS SDKs estão disponíveis para várias linguagens de programação. Para obter mais informações, consulte [Ferramentas para a Amazon Web Services](https://aws.amazon.com/tools/#sdk).

## Pré-requisitos
<a name="send-an-email-using-sdk-programmatically-prereqs"></a>

Os seguintes pré-requisitos devem ser atendidos para realizar qualquer um dos exemplos de código na próxima seção:
+ Se você ainda não tiver feito isso, realize as tarefas em [Configuração do Amazon Simple Email Service](setting-up.md).
+ **Verifique seu endereço de e-mail com o Amazon SES**: antes de enviar e-mails com o Amazon SES, é necessário verificar se você é o proprietário do endereço de e-mail remetente. Se sua conta ainda estiver na sandbox do Amazon SES, você também deverá verificar o endereço de e-mail do destinatário. Recomendamos que você use o console do Amazon SES para verificar endereços de e-mail. Para obter mais informações, consulte [Criação da identidade de um endereço de e-mail](creating-identities.md#verify-email-addresses-procedure). 
+ **Obtenha suas AWS credenciais** — Você precisa de um ID de chave de AWS acesso e uma chave de acesso AWS secreta para acessar o Amazon SES usando um SDK. Você pode encontrar suas credenciais na página [Credenciais de segurança](https://console.aws.amazon.com/iam/home?#security_credential) no Console de gerenciamento da AWS. Para obter mais informações sobre credenciais, consulte [Tipos de credenciais do Amazon SES](send-email-concepts-credentials.md).
+ **Crie um arquivo de credenciais compartilhadas**: para que o código de exemplo desta seção funcione bem, você deve criar um arquivo de credenciais compartilhadas. Para obter mais informações, consulte [Criação de um arquivo de credenciais compartilhado para usar ao enviar e-mails pelo Amazon SES usando um SDK AWS](create-shared-credentials-file.md).

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

**Importante**  
Nos tutoriais a seguir, você envia um e-mail a si mesmo para conferir se o recebe. Para fazer mais experimentos ou testes de carga, use o simulador de caixa postal do Amazon SES. Os e-mails enviados ao simulador de caixa postal não contam para sua cota de envio nem para suas taxas de devoluções e reclamações. Para obter mais informações, consulte [Uso do simulador de caixa postal manualmente.](send-an-email-from-console.md#send-email-simulator).

**Topics**

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

O procedimento a seguir mostra como enviar um e-mail por meio do Amazon SES usando o [Visual Studio](https://www.visualstudio.com/) e o AWS SDK para .NET.

Esta solução foi testada com os seguintes componentes:
+ Microsoft Visual Studio Community 2017, versão 15.4.0.
+ Microsoft .NET Framework versão 4.6.1.
+ O pacote AWSSDK .Core (versão 3.3.19), instalado usando o. NuGet
+  AWSSDKA. SimpleEmail pacote (versão 3.3.6.1), instalado usando. NuGet

**Antes de começar, execute as seguintes tarefas:**
+ **Instale o Visual Studio** — o Visual Studio está disponível em [https://www.visualstudio.com/](https://www.visualstudio.com/).

**Para enviar um e-mail usando o AWS SDK para .NET**

1. Crie um novo projeto realizando as seguintes etapas:

   1. Inicie o Visual Studio.

   1. No menu **File (Arquivo)**, escolha **New (Novo) **, **Project (Projeto)**.

   1. Na janela **New Project**, no painel esquerdo, expanda **Installed** e expanda **Visual C\$1**.

   1. No painel à direita, escolha **Console App (.NET Framework)**.

   1. Em **Name**, digite **AmazonSESSample** e selecione **OK**.

1. Use NuGet para incluir os pacotes do Amazon SES em sua solução concluindo as seguintes etapas:

   1. No painel **Solution Explorer**, clique com o botão direito do mouse em seu projeto e escolha **Gerenciar NuGet ** pacotes.

   1. Na SESSample guia **NuGet: Amazon**, escolha **Browse**.

   1. Na caixa de pesquisa, digite **AWSSDK.SimpleEmail**. 

   1. Escolha **AWSSDKo. SimpleEmail**pacote e, em seguida, escolha **Instalar**.

   1. Na janela **Preview Changes**, escolha **OK**.

1. Na guia **Program.cs**, cole o seguinte código:

   ```
    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. Na caixa de editor, faça o seguinte:
   + *sender@example.com*Substitua pelo endereço de e-mail “De:”. Esse endereço deve ser verificado. Para obter mais informações, consulte [Identidades verificadas no Amazon SES](verify-addresses-and-domains.md).
   + *recipient@example.com*Substitua pelo endereço “Para:”. Se sua conta ainda estiver na sandbox, esse endereço "To" também deverá ser verificado.
   + *ConfigSet*Substitua pelo nome do conjunto de configurações a ser usado ao enviar esse e-mail.
   + *USWest2*Substitua pelo nome do Região da AWS endpoint que você usa para enviar e-mails usando o Amazon SES. Para obter uma lista das regiões onde o Amazon SES está disponível, consulte [Amazon Simple Email Service (Amazon SES)](https://docs.aws.amazon.com/general/latest/gr/rande.html#ses_region) na *Referência geral da AWS*.

   Quando terminar, salve `Program.cs`.

1. Crie e execute o aplicativo concluindo as seguintes etapas:

   1. No menu **Build**, escolha **Build Solution**.

   1. No menu **Debug**, escolha **Start Debugging**. Uma janela do console será exibida.

1. Analise a saída do console. Se o e-mail tiver sido enviado com sucesso, o console exibirá "`The email was sent successfully.`" 

1. Se o e-mail tiver sido enviado com êxito, acesse o cliente de e-mail do endereço do destinatário. Você verá a mensagem que enviou.

------
#### [ Java ]

O procedimento a seguir mostra como usar o [Eclipse IDE para desenvolvedores Java EE](http://www.eclipse.org/), [AWS Toolkit for Eclipse](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/welcome.html)criar um projeto AWS SDK e modificar o código Java para enviar um e-mail pelo Amazon SES. 

**Antes de começar, execute as seguintes tarefas:**
+ **Instale o Eclipse**: o Eclipse está disponível em [https://www.eclipse.org/downloads](https://www.eclipse.org/downloads). O código neste tutorial foi testado com o Eclipse Neon.3 (versão 4.6.3), executando a versão 1.8 do Java Runtime Environment.
+ **Instale o AWS Toolkit for Eclipse** [—As instruções para adicionar o AWS Toolkit for Eclipse à sua instalação do Eclipse estão disponíveis em https://aws.amazon.com /eclipse.](https://aws.amazon.com/eclipse) O código neste tutorial foi testado com a versão 2.3.1 do AWS Toolkit for Eclipse.

**Para enviar um e-mail usando o AWS SDK para Java**

1. Crie um projeto AWS Java no Eclipse executando as seguintes etapas:

   1. Inicie o Eclipse.

   1. No menu **File**, escolha **New** e **Other**. Na janela **New** (Novo), expanda a pasta **AWS** e depois selecione **Java Project AWS **.

   1. Na caixa de diálogo **Novo projeto AWS Java**, faça o seguinte:

      1. Para **Project name (Project name)**, digite um nome de projeto.

      1. Em **AWS SDK para Java Amostras**, selecione ** JavaMail Amostra do Amazon Simple Email Service**.

      1. Escolha **Terminar**.

1. No Eclipse, no painel **Package Explorer**, expanda o seu projeto.

1. Em seu projeto, expanda a pasta `src/main/java`, expanda a pasta `com.amazon.aws.samples` e, em seguida, clique duas vezes em `AmazonSESSample.java`.

1. Substitua o todo o conteúdo de `AmazonSESSample.java` pelo seguinte 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. Em `AmazonSESSample.java`, substitua o seguinte pelos seus próprios valores:
**Importante**  
Os endereços de e-mail diferenciam maiúsculas de minúsculas. Certifique-se de que os endereços sejam exatamente os mesmos que você verificou.
   + `SENDER@EXAMPLE.COM`: substitua pelo seu endereço de e-mail "From" (De). Você deve verificar esse endereço antes de executar esse programa. Para obter mais informações, consulte [Identidades verificadas no Amazon SES](verify-addresses-and-domains.md).
   + `RECIPIENT@EXAMPLE.COM`: substitua pelo seu endereço de e-mail "To" (Para). Se sua conta ainda estiver na sandbox, você precisará verificar esse endereço antes de usá-lo. Para obter mais informações, consulte [Solicitar acesso à produção (sair da sandbox do Amazon SES)](request-production-access.md).
   + **(Opcional) `us-west-2`**: se você deseja usar o Amazon SES em uma região que não seja Oeste dos EUA (Oregon), substitua isso pela região que você deseja usar. Para obter uma lista das regiões onde o Amazon SES está disponível, consulte [Amazon Simple Email Service (Amazon SES)](https://docs.aws.amazon.com/general/latest/gr/rande.html#ses_region) na *Referência geral da AWS*.

1. Salvar `AmazonSESSample.java`.

1. Para criar o projeto, escolha **Project** e, em seguida, escolha **Build Project**.
**nota**  
Se essa opção estiver desativada, a criação automática talvez esteja ativada. Nesse caso, pule esta etapa.

1. Para iniciar o programa e enviar o e-mail, escolha **Run** e **Run** novamente.

1. Analise a saída do painel do console no Eclipse. Se o e-mail foi enviado com êxito, o console exibirá "`Email sent!`"; do contrário, ele exibirá uma mensagem de erro.

1. Se o e-mail tiver sido enviado com êxito, acesse o cliente de e-mail do endereço do destinatário. Você verá a mensagem que enviou.

------
#### [ PHP ]

Este tópico mostra como usar o [AWS SDK para PHP](https://aws.amazon.com/sdk-for-php/) para enviar um e-mail pelo Amazon SES. 

**Antes de começar, execute as seguintes tarefas:**
+ **Instale o PHP**: o PHP está disponível em [http://php.net/downloads.php](http://php.net/downloads.php). Este tutorial requer PHP versão 5.5 ou superior. Depois de instalar o PHP, adicione o caminho para o PHP nas suas variáveis de ambiente, de forma que possa executar o PHP a partir de qualquer prompt de comando. O código neste tutorial foi testado usando PHP 7.2.7.
+ **Instale a AWS SDK para PHP versão 3** — Para obter instruções de download e instalação, consulte a [AWS SDK para PHP documentação](https://docs.aws.amazon.com/aws-sdk-php/v3/guide/getting-started/installation.html). O código neste tutorial foi testado com a versão 3.64.13 do SDK. 

**Para enviar um e-mail pelo Amazon SES usando o AWS SDK para PHP**

1. Em um editor de texto, crie um arquivo chamado `amazon-ses-sample.php`. Cole o seguinte 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. Em `amazon-ses-sample.php`, substitua o seguinte pelos seus próprios valores:
   + **`path_to_sdk_inclusion`**—Substitua pelo caminho necessário para incluí-lo AWS SDK para PHP no programa. Para obter mais informações, consulte a [documentação do AWS SDK para PHP](https://docs.aws.amazon.com/aws-sdk-php/v3/guide/getting-started/basic-usage.html). 
   + **`sender@example.com`**: substitua por um endereço de e-mail que você verificou com o Amazon SES. Para obter mais informações, consulte [Identidades](verify-addresses-and-domains.md). Os endereços de e-mail no Amazon SES diferenciam maiúsculas de minúsculas. Certifique-se de que o endereço informado seja exatamente o mesmo que você verificou.
   + **`recipient1@example.com`, `recipient2@example.com`**: substitua pelos endereços dos destinatários. Se sua conta ainda estiver na sandbox, os endereços dos destinatários também deverão ser verificados. Para obter mais informações, consulte [Solicitar acesso à produção (sair da sandbox do Amazon SES)](request-production-access.md). Certifique-se de que o endereço informado seja exatamente o mesmo que você verificou.
   + **(Opcional) `ConfigSet`**: se você quiser usar um conjunto de configurações ao enviar esse e-mail, substitua esse valor pelo nome do conjunto de configurações. Para obter mais informações sobre os conjuntos de configurações, consulte [Uso de conjuntos de configurações no Amazon SES](using-configuration-sets.md).
   + **(Opcional) `us-west-2`**: se você deseja usar o Amazon SES em uma região que não seja Oeste dos EUA (Oregon), substitua isso pela região que você deseja usar. Para obter uma lista das regiões onde o Amazon SES está disponível, consulte [Amazon Simple Email Service (Amazon SES)](https://docs.aws.amazon.com/general/latest/gr/rande.html#ses_region) na *Referência geral da AWS*.

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

1. Para executar o programa, abra um prompt de comando no mesmo diretório de `amazon-ses-sample.php` e, em seguida, digite o comando a seguir:

   ```
   $ php amazon-ses-sample.php
   ```

1. Revise a saída. Se o e-mail foi enviado com êxito, o console exibirá "`Email sent!`"; do contrário, ele exibirá uma mensagem de erro.
**nota**  
Se você encontrar um erro "cURL error 60: SSL certificate problem" quando executar o programa, faça download do pacote CA mais recente, conforme descrito na [documentação do 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). Em seguida, em `amazon-ses-sample.php`, adicione as seguintes linhas à matriz `SesClient::factory`, substitua `path_of_certs` pelo caminho para o pacote CA que você obteve por download e execute novamente o programa.  

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

1. Entre no cliente de e-mail do endereço de destinatário. Você verá a mensagem que enviou.

------
#### [ Ruby ]

Este tópico mostra como usar o [AWS SDK para Ruby](https://aws.amazon.com/sdk-for-ruby/) para enviar um e-mail pelo Amazon SES. 

**Antes de começar, execute as seguintes tarefas:**
+ **Instale o Ruby** [— O Ruby está disponível em https://www.ruby-lang. org/en/downloads](https://www.ruby-lang.org/en/downloads/)/. O código neste tutorial foi testado usando Ruby 1.9.3. Depois de instalar o Ruby, adicione o caminho para o Ruby nas suas variáveis de ambiente, de forma que possa executar o Ruby a partir de qualquer prompt de comando.
+ **Instale o AWS SDK para Ruby** — Para obter instruções de download e instalação, consulte [Instalação do AWS SDK para Ruby](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/setup-install.html) no *Guia do AWS SDK para Ruby desenvolvedor*. O código de exemplo neste tutorial foi testado com a versão 2.9.36 do AWS SDK para Ruby.
+ **Crie um arquivo de credenciais compartilhadas**: para que o código de exemplo desta seção funcione bem, você deve criar um arquivo de credenciais compartilhadas. Para obter mais informações, consulte [Criação de um arquivo de credenciais compartilhado para usar ao enviar e-mails pelo Amazon SES usando um SDK AWS](create-shared-credentials-file.md).

**Para enviar um e-mail pelo Amazon SES usando o AWS SDK para Ruby**

1. Em um editor de texto, crie um arquivo chamado `amazon-ses-sample.rb`. Cole o seguinte código no arquivo:

   ```
    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. Em `amazon-ses-sample.rb`, substitua o seguinte pelos seus próprios valores:
   + **`sender@example.com`**: substitua por um endereço de e-mail que você verificou com o Amazon SES. Para obter mais informações, consulte [Identidades](verify-addresses-and-domains.md). Os endereços de e-mail no Amazon SES diferenciam maiúsculas de minúsculas. Certifique-se de que o endereço informado seja exatamente o mesmo que você verificou.
   + **`recipient@example.com`**: substitua pelo endereço do destinatário. Se sua conta ainda estiver na sandbox, você precisará verificar esse endereço antes de usá-lo. Para obter mais informações, consulte [Solicitar acesso à produção (sair da sandbox do Amazon SES)](request-production-access.md). Certifique-se de que o endereço informado seja exatamente o mesmo que você verificou.
   + **(Opcional) `us-west-2`**: se você deseja usar o Amazon SES em uma região que não seja Oeste dos EUA (Oregon), substitua isso pela região que você deseja usar. Para obter uma lista das regiões onde o Amazon SES está disponível, consulte [Amazon Simple Email Service (Amazon SES)](https://docs.aws.amazon.com/general/latest/gr/rande.html#ses_region) na *Referência geral da AWS*.

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

1. Para executar o programa, abra um prompt de comando no mesmo diretório de `amazon-ses-sample.rb` e digite **ruby amazon-ses-sample.rb**

1. Revise a saída. Se o e-mail foi enviado com êxito, o console exibirá "`Email sent!`"; do contrário, ele exibirá uma mensagem de erro.

1. Entre no cliente de e-mail do endereço de destinatário. Você encontrará a mensagem que enviou.

------
#### [ Python ]

Este tópico mostra como usar o [AWS SDK para Python (Boto)](https://aws.amazon.com/sdk-for-python/) para enviar um e-mail pelo Amazon SES. 

**Antes de começar, execute as seguintes tarefas:**
+ **Verifique seu endereço de e-mail com o Amazon SES**: antes de enviar e-mails com o Amazon SES, é necessário verificar se você é o proprietário do endereço de e-mail remetente. Se sua conta ainda estiver na sandbox do Amazon SES, você também deverá verificar o endereço de e-mail do destinatário. Recomendamos que você use o console do Amazon SES para verificar endereços de e-mail. Para obter mais informações, consulte [Criação da identidade de um endereço de e-mail](creating-identities.md#verify-email-addresses-procedure). 
+ **Obtenha suas AWS credenciais** — Você precisa de um ID de chave de AWS acesso e uma chave de acesso AWS secreta para acessar o Amazon SES usando um SDK. Você pode encontrar suas credenciais na página [Credenciais de segurança](https://console.aws.amazon.com/iam/home?#security_credential) do Console de gerenciamento da AWS. Para obter mais informações sobre credenciais, consulte [Tipos de credenciais do Amazon SES](send-email-concepts-credentials.md).
+ **Instale o Python — o Python** [está disponível em thon.org/downloads/. https://www.py](https://www.python.org/downloads/) O código neste tutorial foi testado com a versão Python 2.7.6 e Python 3.6.1. Depois de instalar o Python, adicione o caminho para o Python nas suas variáveis de ambiente, de forma que possa executar o Python a partir de qualquer prompt de comando.
+ **Instale o AWS SDK para Python (Boto)** — Para obter instruções de download e instalação, consulte a [AWS SDK para Python (Boto) documentação](https://boto3.readthedocs.io/en/latest/guide/quickstart.html#installation). O código de exemplo neste tutorial foi testado com a versão 1.4.4 do SDK for Python.

**Para enviar e-mail pelo Amazon SES usando o SDK for Python**

1. Em um editor de texto, crie um arquivo chamado `amazon-ses-sample.py`. Cole o seguinte código no arquivo:

   ```
    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. Em `amazon-ses-sample.py`, substitua o seguinte pelos seus próprios valores:
   + **`sender@example.com`**: substitua por um endereço de e-mail que você verificou com o Amazon SES. Para obter mais informações, consulte [Identidades](verify-addresses-and-domains.md). Os endereços de e-mail no Amazon SES diferenciam maiúsculas de minúsculas. Certifique-se de que o endereço informado seja exatamente o mesmo que você verificou.
   + **`recipient@example.com`**: substitua pelo endereço do destinatário. Se sua conta ainda estiver na sandbox, você precisará verificar esse endereço antes de usá-lo. Para obter mais informações, consulte [Solicitar acesso à produção (sair da sandbox do Amazon SES)](request-production-access.md). Certifique-se de que o endereço informado seja exatamente o mesmo que você verificou.
   + **(Opcional) `us-west-2`**: se você deseja usar o Amazon SES em uma região que não seja Oeste dos EUA (Oregon), substitua isso pela região que você deseja usar. Para obter uma lista das regiões onde o Amazon SES está disponível, consulte [Amazon Simple Email Service (Amazon SES)](https://docs.aws.amazon.com/general/latest/gr/rande.html#ses_region) na *Referência geral da AWS*.

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

1. Para executar o programa, abra um prompt de comando no mesmo diretório de `amazon-ses-sample.py` e, em seguida, digite **python amazon-ses-sample.py**.

1. Revise a saída. Se o e-mail foi enviado com êxito, o console exibirá "`Email sent!`"; do contrário, ele exibirá uma mensagem de erro.

1. Entre no cliente de e-mail do endereço de destinatário. Você verá a mensagem que enviou.

------