

La versione AWS SDK per JavaScript v2 ha raggiunto la fine del supporto. Ti consigliamo di eseguire la migrazione alla v3. [AWS SDK per JavaScript](https://docs.aws.amazon.com/sdk-for-javascript/v3/developer-guide/) Per ulteriori dettagli e informazioni su come eseguire la migrazione, consulta questo annuncio. [https://aws.amazon.com/blogs/developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/](https://aws.amazon.com/blogs/developer/announcing-end-of-support-for-aws-sdk-for-javascript-v2/)

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
<a name="ses-examples-sending-email"></a>

![JavaScript code example that applies to Node.js execution](https://docs.aws.amazon.com/it_it/sdk-for-javascript/v2/developer-guide/images/nodeicon.png)

**Questo esempio di Node.js codice mostra: **
+ Come inviare un'e-mail di testo o in formato HTML.
+ Come inviare e-mail in base a un modello di e-mail.
+ Come inviare e-mail in blocco in base a un modello di e-mail.

L'API Amazon SES offre due modi diversi per inviare un'e-mail, a seconda del livello di controllo desiderato sulla composizione del messaggio e-mail: formattato e non elaborato. Per informazioni dettagliate, consulta [ Invio di e-mail formattate tramite l'API Amazon SES ](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-formatted.html) e [ Invio di e-mail non formattate tramite l'API Amazon SES. ](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-raw.html)

## Lo scenario
<a name="ses-examples-sending-email-scenario"></a>

In questo esempio, utilizzi una serie di Node.js moduli per inviare e-mail in vari modi. I Node.js moduli utilizzano l'SDK per JavaScript creare e utilizzare modelli di email utilizzando questi metodi della classe `AWS.SES` client:
+ [`sendEmail`](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SES.html#sendEmail-property)
+ [`sendTemplatedEmail`](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SES.html#sendTemplatedEmail-property)
+ [`sendBulkTemplatedEmail`](https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/SES.html#sendBulkTemplatedEmail-property)

## Attività prerequisite
<a name="ses-examples-sending-emails-prerequisites"></a>
+ Installa Node.js. Per ulteriori informazioni sull'installazione Node.js, consulta il [ Node.js sito Web](https://nodejs.org).
+ Creazione di un file di configurazione condiviso con le credenziali utente. Per ulteriori informazioni su come fornire file JSON di credenziali, consulta [Caricamento delle credenziali su Node.js dal file delle credenziali condiviso](loading-node-credentials-shared.md).

## Requisiti per l'invio di messaggi e-mail
<a name="ses-examples-sending-msail-reqs"></a>

Amazon SES compone un messaggio e-mail e lo mette immediatamente in coda per l'invio. Per inviare e-mail utilizzando il metodo `SES.sendEmail`, il messaggio deve soddisfare i seguenti requisiti:
+ Devi inviare il messaggio da un dominio o da un indirizzo e-mail verificato. Se tenti di inviare e-mail utilizzando un dominio o un indirizzo non verificato, l'operazione genera un errore `"Email address not verified"`.
+ Se il tuo account si trova ancora nella sandbox di Amazon SES, puoi inviare messaggi solo a domini o indirizzi verificati oppure a indirizzi e-mail associati al simulatore di mailbox di Amazon SES. Per ulteriori informazioni, consulta [ Verifica degli indirizzi e-mail e dei domini ](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-addresses-and-domains.html) nella Amazon Simple Email Service Developer Guide.
+ La dimensione totale del messaggio, inclusi gli allegati, deve essere inferiore a 10 MB.
+ Il messaggio deve includere almeno l'indirizzo e-mail di un destinatario. L'indirizzo del destinatario può essere un indirizzo "To:" ("A:"), "CC:" ("Cc:") o "BCC:" ("Ccn:"). Se l'indirizzo e-mail di un destinatario non è valido (ovvero non è nel formato `UserName@[SubDomain.]Domain.TopLevelDomain`), l'intero messaggio viene rifiutato, anche se contiene altri destinatari validi.
+ Il messaggio non può includere più di 50 destinatari, nei campi "To:" ("A:"), "CC:" ("Cc:") e "BCC:" ("Ccn:"). Se devi inviare un messaggio e-mail a un pubblico più ampio, puoi dividere l'elenco dei destinatari in gruppi di massimo 50 persone e quindi chiamare il metodo `sendEmail` più volte per inviare il messaggio a ciascun gruppo.

## Invio di un'e-mail
<a name="ses-examples-sendmail"></a>

In questo esempio, utilizza un Node.js modulo per inviare e-mail con Amazon SES. Crea un Node.js modulo con il nome del file`ses_sendemail.js`. Configura l'SDK come mostrato in precedenza.

Crea un oggetto per trasferire i valori dei parametri che definiscono l'e-mail da inviare, inclusi gli indirizzi dei mittenti e dei destinatari, l'oggetto, il corpo dell'e-mail in testo normale e in formato HTML, al metodo `sendEmail` della classe client `AWS.SES`. Per chiamare il metodo `sendEmail`, crea una promessa per chiamare un oggetto del servizio Amazon SES, trasferendo i parametri. Quindi gestisci l'oggetto `response` nel callback della promessa. 

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create sendEmail params
var params = {
  Destination: {
    /* required */
    CcAddresses: [
      "EMAIL_ADDRESS",
      /* more items */
    ],
    ToAddresses: [
      "EMAIL_ADDRESS",
      /* more items */
    ],
  },
  Message: {
    /* required */
    Body: {
      /* required */
      Html: {
        Charset: "UTF-8",
        Data: "HTML_FORMAT_BODY",
      },
      Text: {
        Charset: "UTF-8",
        Data: "TEXT_FORMAT_BODY",
      },
    },
    Subject: {
      Charset: "UTF-8",
      Data: "Test email",
    },
  },
  Source: "SENDER_EMAIL_ADDRESS" /* required */,
  ReplyToAddresses: [
    "EMAIL_ADDRESS",
    /* more items */
  ],
};

// Create the promise and SES service object
var sendPromise = new AWS.SES({ apiVersion: "2010-12-01" })
  .sendEmail(params)
  .promise();

// Handle promise's fulfilled/rejected states
sendPromise
  .then(function (data) {
    console.log(data.MessageId);
  })
  .catch(function (err) {
    console.error(err, err.stack);
  });
```

Digita la seguente riga di comando per eseguire l'esempio. L'e-mail viene messa in coda per l'invio da Amazon SES.

```
node ses_sendemail.js
```

Questo codice di esempio può essere [ trovato qui. GitHub ](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/ses/ses_sendemail.js) 

## Invio di un'e-mail in base a un modello
<a name="ses-examples-sendtemplatedemail"></a>

In questo esempio, utilizza un Node.js modulo per inviare e-mail con Amazon SES. Crea un Node.js modulo con il nome del file`ses_sendtemplatedemail.js`. Configura l'SDK come mostrato in precedenza.

Crea un oggetto per trasferire i valori dei parametri che definiscono l'e-mail da inviare, inclusi gli indirizzi dei mittenti e dei destinatari, l'oggetto, il corpo dell'e-mail in testo normale e in formato HTML, al metodo `sendTemplatedEmail` della classe client `AWS.SES`. Per chiamare il metodo `sendTemplatedEmail`, crea una promessa per chiamare un oggetto del servizio Amazon SES, trasferendo i parametri. Quindi gestisci l'oggetto `response` nel callback della promessa. 

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create sendTemplatedEmail params
var params = {
  Destination: {
    /* required */
    CcAddresses: [
      "EMAIL_ADDRESS",
      /* more CC email addresses */
    ],
    ToAddresses: [
      "EMAIL_ADDRESS",
      /* more To email addresses */
    ],
  },
  Source: "EMAIL_ADDRESS" /* required */,
  Template: "TEMPLATE_NAME" /* required */,
  TemplateData: '{ "REPLACEMENT_TAG_NAME":"REPLACEMENT_VALUE" }' /* required */,
  ReplyToAddresses: ["EMAIL_ADDRESS"],
};

// Create the promise and SES service object
var sendPromise = new AWS.SES({ apiVersion: "2010-12-01" })
  .sendTemplatedEmail(params)
  .promise();

// Handle promise's fulfilled/rejected states
sendPromise
  .then(function (data) {
    console.log(data);
  })
  .catch(function (err) {
    console.error(err, err.stack);
  });
```

Digita la seguente riga di comando per eseguire l'esempio. L'e-mail viene messa in coda per l'invio da Amazon SES.

```
node ses_sendtemplatedemail.js
```

Questo codice di esempio può essere trovato [ qui. GitHub ](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/ses/ses_sendtemplatedemail.js)

## Invio di e-mail in blocco in base a un modello
<a name="ses-examples-sendbulktemplatedemail"></a>

In questo esempio, utilizza un Node.js modulo per inviare e-mail con Amazon SES. Crea un Node.js modulo con il nome del file`ses_sendbulktemplatedemail.js`. Configura l'SDK come mostrato in precedenza. 

Crea un oggetto per trasferire i valori dei parametri che definiscono l'e-mail da inviare, inclusi gli indirizzi dei mittenti e dei destinatari, l'oggetto, il corpo dell'e-mail in testo normale e in formato HTML, al metodo `sendBulkTemplatedEmail` della classe client `AWS.SES`. Per chiamare il metodo `sendBulkTemplatedEmail`, crea una promessa per chiamare un oggetto del servizio Amazon SES, trasferendo i parametri. Quindi gestisci l'oggetto `response` nel callback della promessa. 

```
// Load the AWS SDK for Node.js
var AWS = require("aws-sdk");
// Set the region
AWS.config.update({ region: "REGION" });

// Create sendBulkTemplatedEmail params
var params = {
  Destinations: [
    /* required */
    {
      Destination: {
        /* required */
        CcAddresses: [
          "EMAIL_ADDRESS",
          /* more items */
        ],
        ToAddresses: [
          "EMAIL_ADDRESS",
          "EMAIL_ADDRESS",
          /* more items */
        ],
      },
      ReplacementTemplateData: '{ "REPLACEMENT_TAG_NAME":"REPLACEMENT_VALUE" }',
    },
  ],
  Source: "EMAIL_ADDRESS" /* required */,
  Template: "TEMPLATE_NAME" /* required */,
  DefaultTemplateData: '{ "REPLACEMENT_TAG_NAME":"REPLACEMENT_VALUE" }',
  ReplyToAddresses: ["EMAIL_ADDRESS"],
};

// Create the promise and SES service object
var sendPromise = new AWS.SES({ apiVersion: "2010-12-01" })
  .sendBulkTemplatedEmail(params)
  .promise();

// Handle promise's fulfilled/rejected states
sendPromise
  .then(function (data) {
    console.log(data);
  })
  .catch(function (err) {
    console.log(err, err.stack);
  });
```

Digita la seguente riga di comando per eseguire l'esempio. L'e-mail viene messa in coda per l'invio da Amazon SES.

```
node ses_sendbulktemplatedemail.js
```

Questo codice di esempio può essere trovato [ qui. GitHub ](https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javascript/example_code/ses/ses_sendbulktemplatedemail.js) 