

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Invio di e-mail tramite Amazon SES utilizzando un AWS SDK
<a name="send-an-email-using-sdk-programmatically"></a>

Puoi utilizzare un AWS SDK per inviare e-mail tramite Amazon SES. AWS SDKs sono disponibili per diversi linguaggi di programmazione. Per ulteriori informazioni, consulta [Strumenti per Amazon Web Services](https://aws.amazon.com/tools/#sdk).

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

Per completare uno degli esempi di codice nella sezione successiva, è necessario completare i seguenti prerequisiti:
+ Se non è già stato fatto, completa le attività in [Impostazione di Amazon Simple Email Service](setting-up.md).
+ **Verifica il tuo indirizzo e-mail con Amazon SES**: prima di poter inviare un'e-mail con Amazon SES devi verificare di essere proprietario dell'indirizzo e-mail del mittente. Se il tuo account è ancora nella sandbox (ambiente di sperimentazione) Amazon SES, devi anche verificare l'indirizzo e-mail del destinatario. Ti consigliamo di utilizzare la console Amazon SES per verificare gli indirizzi e-mail. Per ulteriori informazioni, consulta [Creazione di un'identità dell'indirizzo e-mail](creating-identities.md#verify-email-addresses-procedure). 
+ **Ottieni AWS le tue credenziali**: sono necessari un ID chiave di AWS accesso e una chiave di accesso AWS segreta per accedere ad Amazon SES utilizzando un SDK. Per trovare le tue credenziali, usa la pagina [Credenziali di sicurezza](https://console.aws.amazon.com/iam/home?#security_credential) nell' Console di gestione AWS. Per ulteriori informazioni sulle credenziali, consulta [Tipi di credenziali Amazon SES](send-email-concepts-credentials.md).
+ **Crea un file delle credenziali condiviso**: per il corretto funzionamento del codice di esempio contenuto in questa sezione devi creare un file delle credenziali condiviso. Per ulteriori informazioni, consulta [Creazione di un file di credenziali condiviso da utilizzare per l'invio di e-mail tramite Amazon SES utilizzando un SDK AWS](create-shared-credentials-file.md).

## Esempi di codice
<a name="send-an-email-using-sdk-programmatically-examples"></a>

**Importante**  
Nei seguenti tutorial invierai un'e-mail a te stesso, in modo da controllare se la ricevi. Per ulteriori sperimentazioni o per effettuare il test di carico, utilizza il simulatore di mailbox Amazon SES. Le e-mail inviate al simulatore di mailbox non vengono conteggiate ai fini della quota di invio o delle percentuali di mancati recapiti (bounce) e reclami. Per ulteriori informazioni, consulta [Utilizzo manuale del simulatore di mailbox](send-an-email-from-console.md#send-email-simulator).

**Topics**

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

La procedura seguente mostra come inviare un'e-mail tramite Amazon SES utilizzando [Visual Studio](https://www.visualstudio.com/) e AWS SDK per .NET.

Questa soluzione è stata testata con i seguenti componenti:
+ Microsoft Visual Studio Community 2017, versione 15.4.0.
+ Microsoft .NET Framework versione 4.6.1.
+ Il pacchetto AWSSDK .Core (versione 3.3.19), installato utilizzando. NuGet
+ Il AWSSDK. SimpleEmail pacchetto (versione 3.3.6.1), installato utilizzando. NuGet

**Prima di iniziare, esegui queste attività:**
+ **Installa Visual Studio**[: Visual Studio è disponibile all'indirizzo/. https://www.visualstudio.com](https://www.visualstudio.com/)

**Per inviare un messaggio di posta elettronica utilizzando AWS SDK per .NET**

1. Crea un nuovo progetto seguendo i passaggi di seguito:

   1. Avvia Visual Studio.

   1. Nel menu **File** scegli **New** (Nuovo), quindi **Project** (Progetto).

   1. Nel pannello sinistro della finestra **New Project** (Nuovo progetto), espandi **Installed** (Installati), quindi espandi **Visual C\$1**.

   1. Nel pannello destro, scegli **Console App (.NET Framework)** (App console (.NET Framework)).

   1. In **Name** (Nome), digita **AmazonSESSample**, quindi scegli **OK**.

1.  NuGet Utilizzalo per includere i pacchetti Amazon SES nella tua soluzione completando i seguenti passaggi:

   1. Nel riquadro **Solution Explorer**, fai clic con il pulsante destro del mouse sul progetto, quindi scegli **Gestisci NuGet pacchetti**.

   1. SESSampleNella scheda **NuGet: Amazon**, scegli **Browse**.

   1. Nella casella di ricerca, digita **AWSSDK.SimpleEmail**. 

   1. Scegli il **AWSSDK. SimpleEmail**pacchetto, quindi scegli **Installa**.

   1. Nella finestra **Preview Changes** (Anteprima modifiche), scegli **OK**.

1. Nella scheda **Program.cs** incolla il codice seguente:

   ```
    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 per .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 per .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 per .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 per .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. Nell'editor del codice, procedi come segue:
   + Sostituiscilo *sender@example.com* con l'indirizzo email «Da:». Questo indirizzo deve essere verificato. Per ulteriori informazioni, consulta [Identità verificate in Amazon SES](verify-addresses-and-domains.md).
   + Sostituire *recipient@example.com* con l'indirizzo «A:». Se il tuo account si trova ancora nella sandbox (ambiente di sperimentazione), devi verificare anche quest'indirizzo.
   + Sostituisci *ConfigSet* con il nome del set di configurazione da utilizzare per l'invio di questa e-mail.
   + Sostituisci *USWest2* con il nome dell' Regione AWS endpoint che usi per inviare e-mail con Amazon SES. Per un elenco di regioni in cui Amazon SES è disponibile, consulta [Amazon Simple Email Service (Amazon SES)](https://docs.aws.amazon.com/general/latest/gr/rande.html#ses_region) in *Riferimenti generali di AWS*.

   Al termine, salva `Program.cs`.

1. Compila ed esegui l'applicazione completando i passaggi seguenti:

   1. Nel menu **Build** (Compila), scegli **Build Solution** (Compila soluzione).

   1. Nel menu **Debug** scegli **Start Debugging** (Avvia debug). Viene visualizzata una finestra della console.

1. Verifica l'output della console. Se l'invio dell'e-mail è riuscito, la console visualizza "`The email was sent successfully.`" 

1. Se l'e-mail è stata inviata correttamente, accedi al client e-mail dell'indirizzo del destinatario. Vedrai il messaggio inviato.

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

La procedura seguente mostra come utilizzare [Eclipse IDE per sviluppatori Java EE](http://www.eclipse.org/) e come [AWS Toolkit for Eclipse](https://docs.aws.amazon.com/toolkit-for-jetbrains/latest/userguide/welcome.html)creare un progetto AWS SDK e modificare il codice Java per inviare un'e-mail tramite Amazon SES. 

**Prima di iniziare, esegui queste attività:**
+ **Installa Eclipse**: Eclipse è disponibile all'indirizzo [https://www.eclipse.org/downloads](https://www.eclipse.org/downloads). Il codice in questo tutorial è stato testato usando Eclipse Neon.3 (versione 4.6.3), che esegue la versione 1.8 di Java Runtime Environment.
+ **Installa AWS Toolkit for Eclipse: le** [istruzioni per aggiungere il AWS Toolkit for Eclipse all'installazione di Eclipse sono disponibili all'indirizzo /eclipse. https://aws.amazon.com](https://aws.amazon.com/eclipse) Il codice in questo tutorial è stato testato usando la versione 2.3.1 di AWS Toolkit for Eclipse.

**Per inviare un'e-mail utilizzando il AWS SDK per Java**

1. Crea un progetto AWS Java in Eclipse eseguendo i seguenti passaggi:

   1. Avvia Eclipse.

   1. Dal menu **File** scegli **New** (Nuovo), quindi scegli **Other** (Altro). Nella finestra **New** (Nuovo) espandi la cartella **AWS**, quindi scegli **AWS Java Project** (Progetto Java AWS ).

   1. Nella finestra di dialogo **Nuovo progetto AWS Java**, effettuate le seguenti operazioni:

      1. Per **Project name** (Nome progetto), digita il nome di un progetto.

      1. In **AWS SDK per Java Esempi**, seleziona **Amazon Simple Email Service JavaMail Sample**.

      1. Scegli **Finish** (Fine).

1. In Eclipse, nel pannello **Package Explorer**, espandi il progetto.

1. All'interno del progetto, espandi la cartella `src/main/java`, espandi la cartella `com.amazon.aws.samples`, quindi fai doppio clic su `AmazonSESSample.java`.

1. Sostituisci l'intero contenuto di `AmazonSESSample.java` con il codice seguente:

   ```
    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 per Java)";
   31.   
   32.   // The HTML body for the email.
   33.   static final String HTMLBODY = "<h1>Amazon SES test (AWS SDK per 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 per 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. In `AmazonSESSample.java`, sostituisci gli elementi seguenti con i tuoi valori:
**Importante**  
Gli indirizzi e-mail distinguono tra maiuscole e minuscole. Assicurati che gli indirizzi siano esattamente identici a quelli verificati.
   + `SENDER@EXAMPLE.COM`: sostituisci con l'indirizzo e-mail del mittente. Devi verificare questo indirizzo prima di eseguire il programma. Per ulteriori informazioni, consulta [Identità verificate in Amazon SES](verify-addresses-and-domains.md).
   + `RECIPIENT@EXAMPLE.COM`: sostituisci con il tuo indirizzo e-mail del destinatario. Se il tuo account si trova ancora nella sandbox (ambiente di sperimentazione), devi verificare questo indirizzo prima di poterlo usare. Per ulteriori informazioni, consulta [Richiedi l'accesso alla produzione (uscita dalla sandbox di Amazon SES)](request-production-access.md).
   + **`us-west-2` (opzionale)**: per utilizzare Amazon SES in una Regione diversa da Stati Uniti occidentali (Oregon), sostituisci questo valore con la Regione che desideri utilizzare. Per un elenco di regioni in cui Amazon SES è disponibile, consulta [Amazon Simple Email Service (Amazon SES)](https://docs.aws.amazon.com/general/latest/gr/rande.html#ses_region) in *Riferimenti generali di AWS*.

1. Salva `AmazonSESSample.java`.

1. Per compilare il progetto, scegli **Project** (Progetto), quindi scegli **Build Project** (Compila progetto).
**Nota**  
Se questa opzione è disabilitata, è possibile che sia abilitata la compilazione automatica. In questo caso, ignora questa fase.

1. Per avviare il programma e inviare l'e-mail, scegli **Run** (Esegui), quindi di nuovo **Run** (Esegui).

1. Verifica l'output del pannello della console in Eclipse. Se l'e-mail è stata inviata correttamente, la console visualizza "`Email sent!`"; in caso contrario, viene visualizzato un messaggio di errore.

1. Se l'e-mail è stata inviata correttamente, accedi al client e-mail dell'indirizzo del destinatario. Vedrai il messaggio inviato.

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

Questo argomento mostra come utilizzare [AWS SDK per PHP](https://aws.amazon.com/sdk-for-php/) per inviare un'e-mail tramite Amazon SES. 

**Prima di iniziare, esegui queste attività:**
+ **Installa PHP**: PHP è disponibile all'indirizzo [http://php.net/downloads.php](http://php.net/downloads.php). Questo tutorial richiede PHP versione 5.5 o successiva. Dopo aver installato PHP, aggiungi il relativo percorso alle variabili di ambiente in modo da poter eseguire PHP da qualsiasi prompt dei comandi. Il codice in questo tutorial è stato testato utilizzando PHP 7.2.7.
+ **Installa la AWS SDK per PHP versione 3**: per le istruzioni di download e installazione, consulta la [AWS SDK per PHP documentazione](https://docs.aws.amazon.com/aws-sdk-php/v3/guide/getting-started/installation.html). Il codice in questo tutorial è stato testato utilizzando la versione 3.64.13 dell'SDK. 

**Per inviare un'e-mail tramite Amazon SES utilizzando il AWS SDK per PHP**

1. In un editor di testo crea un file denominato `amazon-ses-sample.php`. Incolla il codice seguente:

   ```
    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 per 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 per 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. In `amazon-ses-sample.php`, sostituisci gli elementi seguenti con i tuoi valori:
   + **`path_to_sdk_inclusion`**—Sostituisci con il percorso richiesto per includerlo AWS SDK per PHP nel programma. Per ulteriori informazioni, consulta la [documentazione relativa ad AWS SDK per PHP](https://docs.aws.amazon.com/aws-sdk-php/v3/guide/getting-started/basic-usage.html). 
   + **`sender@example.com`**: sostituisci con un indirizzo e-mail verificato con Amazon SES. Per ulteriori informazioni, consulta [Identità verificate](verify-addresses-and-domains.md). Gli indirizzi e-mail in Amazon SES distinguono tra maiuscole e minuscole. Assicurati che l'indirizzo inserito sia esattamente identico a quello verificato.
   + **`recipient1@example.com`, `recipient2@example.com`**: sostituisci con l'indirizzo del destinatario. Se il tuo account si trova ancora nella sandbox (ambiente di sperimentazione), deve essere verificato anche l'indirizzo del destinatario. Per ulteriori informazioni, consulta [Richiedi l'accesso alla produzione (uscita dalla sandbox di Amazon SES)](request-production-access.md). Assicurati che l'indirizzo inserito sia esattamente identico a quello verificato.
   + **`ConfigSet` (opzionale)**: se desideri utilizzare un set di configurazione durante l'invio di questa e-mail, modifica il valore della variabile con il nome del set di configurazione. Per ulteriori informazioni sui set di configurazione, consulta [Utilizzo dei set di configurazione in Amazon SES](using-configuration-sets.md).
   + **`us-west-2` (opzionale)**: per utilizzare Amazon SES in una Regione diversa da Stati Uniti occidentali (Oregon), sostituisci questo valore con la Regione che desideri utilizzare. Per un elenco di regioni in cui Amazon SES è disponibile, consulta [Amazon Simple Email Service (Amazon SES)](https://docs.aws.amazon.com/general/latest/gr/rande.html#ses_region) in *Riferimenti generali di AWS*.

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

1. Per eseguire il programma, apri un prompt dei comandi nella stessa directory di `amazon-ses-sample.php`, poi digita il seguente comando:

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

1. Esamina l'output. Se l'e-mail è stata inviata correttamente, la console visualizza "`Email sent!`"; in caso contrario, viene visualizzato un messaggio di errore.
**Nota**  
Se si verifica un errore "cURL error 60: SSL certificate problem" quando esegui il programma, scarica il bundle CA più recente, come descritto nella [ documentazione relativa ad AWS SDK per PHP](https://docs.aws.amazon.com/aws-sdk-php/v3/guide/faq.html#what-do-i-do-about-a-curl-ssl-certificate-error). Quindi, in `amazon-ses-sample.php` aggiungi le seguenti righe alla matrice `SesClient::factory`, sostituisci `path_of_certs` con il percorso del bundle CA scaricato ed esegui nuovamente il programma.  

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

1. Accedi al client e-mail dell'indirizzo del destinatario. Vedrai il messaggio inviato.

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

Questo argomento mostra come utilizzare [AWS SDK per Ruby](https://aws.amazon.com/sdk-for-ruby/) per inviare un'e-mail tramite Amazon SES. 

**Prima di iniziare, esegui queste attività:**
+ **Installa Ruby —Ruby** [è disponibile all'indirizzo https://www.ruby-lang. org/en/downloads/.](https://www.ruby-lang.org/en/downloads/) Il codice in questo tutorial è stato testato utilizzando Ruby 1.9.3. Dopo aver installato Ruby, aggiungi il relativo percorso alle variabili di ambiente in modo da poter eseguire Ruby da qualsiasi prompt dei comandi.
+ **Installa il AWS SDK per Ruby** —Per le istruzioni di download e installazione, consulta [Installazione di AWS SDK per Ruby nella](https://docs.aws.amazon.com/sdk-for-ruby/latest/developer-guide/setup-install.html) *Guida per gli AWS SDK per Ruby sviluppatori*. Il codice di esempio di questo tutorial è stato testato utilizzando la versione 2.9.36 di AWS SDK per Ruby.
+ **Crea un file delle credenziali condiviso**: per il corretto funzionamento del codice di esempio contenuto in questa sezione devi creare un file delle credenziali condiviso. Per ulteriori informazioni, consulta [Creazione di un file di credenziali condiviso da utilizzare per l'invio di e-mail tramite Amazon SES utilizzando un SDK AWS](create-shared-credentials-file.md).

**Per inviare un'e-mail tramite Amazon SES utilizzando il AWS SDK per Ruby**

1. In un editor di testo crea un file denominato `amazon-ses-sample.rb`. Incolla il codice seguente nel file:

   ```
    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 per Ruby)"
   21. 
   22. # The HTML body of the email.
   23. htmlbody =
   24.   '<h1>Amazon SES test (AWS SDK per 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 per 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 per 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. In `amazon-ses-sample.rb`, sostituisci gli elementi seguenti con i tuoi valori:
   + **`sender@example.com`**: sostituisci con un indirizzo e-mail verificato con Amazon SES. Per ulteriori informazioni, consulta [Identità verificate](verify-addresses-and-domains.md). Gli indirizzi e-mail in Amazon SES distinguono tra maiuscole e minuscole. Assicurati che l'indirizzo inserito sia esattamente identico a quello verificato.
   + **`recipient@example.com`**: sostituisci con l'indirizzo del destinatario. Se il tuo account si trova ancora nella sandbox (ambiente di sperimentazione), devi verificare questo indirizzo prima di poterlo usare. Per ulteriori informazioni, consulta [Richiedi l'accesso alla produzione (uscita dalla sandbox di Amazon SES)](request-production-access.md). Assicurati che l'indirizzo inserito sia esattamente identico a quello verificato.
   + **`us-west-2` (opzionale)**: per utilizzare Amazon SES in una Regione diversa da Stati Uniti occidentali (Oregon), sostituisci questo valore con la Regione che desideri utilizzare. Per un elenco di regioni in cui Amazon SES è disponibile, consulta [Amazon Simple Email Service (Amazon SES)](https://docs.aws.amazon.com/general/latest/gr/rande.html#ses_region) in *Riferimenti generali di AWS*.

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

1. Per eseguire il programma, apri un prompt dei comandi nella stessa directory di `amazon-ses-sample.rb`, quindi digita **ruby amazon-ses-sample.rb**

1. Esamina l'output. Se l'e-mail è stata inviata correttamente, la console visualizza "`Email sent!`"; in caso contrario, viene visualizzato un messaggio di errore.

1. Accedi al client e-mail dell'indirizzo del destinatario. Troverai il messaggio inviato.

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

Questo argomento mostra come utilizzare [AWS SDK per Python (Boto)](https://aws.amazon.com/sdk-for-python/) per inviare un'e-mail tramite Amazon SES. 

**Prima di iniziare, esegui queste attività:**
+ **Verifica il tuo indirizzo e-mail con Amazon SES**: prima di poter inviare un'e-mail con Amazon SES devi verificare di essere proprietario dell'indirizzo e-mail del mittente. Se il tuo account è ancora nella sandbox (ambiente di sperimentazione) Amazon SES, devi anche verificare l'indirizzo e-mail del destinatario. Ti consigliamo di utilizzare la console Amazon SES per verificare gli indirizzi e-mail. Per ulteriori informazioni, consulta [Creazione di un'identità dell'indirizzo e-mail](creating-identities.md#verify-email-addresses-procedure). 
+ **Ottieni AWS le tue credenziali**: sono necessari un ID chiave di AWS accesso e una chiave di accesso AWS segreta per accedere ad Amazon SES utilizzando un SDK. Per trovare le tue credenziali, usa la pagina [Credenziali di sicurezza](https://console.aws.amazon.com/iam/home?#security_credential) nell' Console di gestione AWS. Per ulteriori informazioni sulle credenziali, consulta [Tipi di credenziali Amazon SES](send-email-concepts-credentials.md).
+ **Installa Python —Python** [è disponibile su thon.org/downloads/. https://www.py](https://www.python.org/downloads/) Il codice in questo tutorial è stato testato utilizzando Python 2.7.6 e Python 3.6.1. Dopo aver installato Python, aggiungi il relativo percorso alle variabili di ambiente in modo da poter eseguire Python da qualsiasi prompt dei comandi.
+ [Installa —Per le istruzioni di download e **installazione**, consulta la documentazione. AWS SDK per Python (Boto)AWS SDK per Python (Boto)](https://boto3.readthedocs.io/en/latest/guide/quickstart.html#installation) Il codice di esempio di questo tutorial è stato testato utilizzando la versione 1.4.4 dell'SDK for Python.

**Invio di un'e-mail tramite Amazon SES utilizzando SDK for Python**

1. In un editor di testo crea un file denominato `amazon-ses-sample.py`. Incolla il codice seguente nel file:

   ```
    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 per 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 per 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. In `amazon-ses-sample.py`, sostituisci gli elementi seguenti con i tuoi valori:
   + **`sender@example.com`**: sostituisci con un indirizzo e-mail verificato con Amazon SES. Per ulteriori informazioni, consulta [Identità verificate](verify-addresses-and-domains.md). Gli indirizzi e-mail in Amazon SES distinguono tra maiuscole e minuscole. Assicurati che l'indirizzo inserito sia esattamente identico a quello verificato.
   + **`recipient@example.com`**: sostituisci con l'indirizzo del destinatario. Se il tuo account si trova ancora nella sandbox (ambiente di sperimentazione), devi verificare questo indirizzo prima di poterlo usare. Per ulteriori informazioni, consulta [Richiedi l'accesso alla produzione (uscita dalla sandbox di Amazon SES)](request-production-access.md). Assicurati che l'indirizzo inserito sia esattamente identico a quello verificato.
   + **`us-west-2` (opzionale)**: per utilizzare Amazon SES in una Regione diversa da Stati Uniti occidentali (Oregon), sostituisci questo valore con la Regione che desideri utilizzare. Per un elenco di regioni in cui Amazon SES è disponibile, consulta [Amazon Simple Email Service (Amazon SES)](https://docs.aws.amazon.com/general/latest/gr/rande.html#ses_region) in *Riferimenti generali di AWS*.

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

1. Per eseguire il programma, apri un prompt dei comandi nella stessa directory di `amazon-ses-sample.py`, poi digita **python amazon-ses-sample.py**.

1. Esamina l'output. Se l'e-mail è stata inviata correttamente, la console visualizza "`Email sent!`"; in caso contrario, viene visualizzato un messaggio di errore.

1. Accedi al client e-mail dell'indirizzo del destinatario. Vedrai il messaggio inviato.

------