Utilizzo di modelli per l'invio di e-mail personalizzate con l'API Amazon SES - Amazon Simple Email Service

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

Utilizzo di modelli per l'invio di e-mail personalizzate con l'API Amazon SES

È possibile utilizzare l'operazione CreateTemplateAPI per creare modelli di e-mail. che includano un oggetto, il testo e le parti HTML del corpo dell'e-mail. Le sezioni dell'oggetto e del corpo possono anche contenere valori univoci personalizzati per ogni destinatario.

Ci sono alcuni limiti e altre considerazioni da tenere presenti quando usi queste caratteristiche:

  • Puoi creare fino a 20.000 modelli di email ciascuno Regione AWS.

  • Ogni modello può raggiungere le dimensioni massime di 500 KB, inclusi testo e parti HTML.

  • Puoi includere un numero illimitato di variabili di sostituzione in ogni modello.

  • Puoi inviare e-mail a un massimo di 50 destinazioni in ciascuna chiamata all'operazione SendBulkTemplatedEmail. Una destinazione include un elenco di destinatari, nonché i destinatari "CC" e "BCC". Il numero di destinazioni che puoi contattare in una sola chiamata all'API potrebbe essere limitato dalla frequenza massima in uscita del tuo account. Per ulteriori informazioni, consulta Gestione dei limiti di invio di Amazon SES.

Questa sezione include le procedure per la creazione di modelli di e-mail e per l'invio di e-mail personalizzate.

Nota

Queste procedure si basano anche sul presupposto che l' AWS CLI sia già stata installata e configurata. Per ulteriori informazioni sull'installazione e la configurazione di AWS CLI, consulta la Guida per l'AWS Command Line Interface utente.

Fase 1: configurazione delle notifiche di eventi di errore di rendering

Se invii un'e-mail che contiene contenuti di personalizzazione non validi, Amazon SES potrebbe inizialmente accettare il messaggio, ma non sarà in grado di consegnarlo. Per questo motivo, se prevedi di inviare e-mail personalizzate, dovresti configurare Amazon SES in modo da inviare notifiche di eventi di errore di rendering tramite Amazon SNS. Quando ricevi una notifica di eventi di errore di rendering, puoi identificare il messaggio con i contenuti non validi, risolvere i problemi e inviare di nuovo il messaggio.

La procedura in questa sezione è opzionale, ma fortemente consigliata.

Configurazione delle notifiche di eventi di errore di rendering
  1. Crea un argomento Amazon SNS. Per le istruzioni, consulta Creazione di un argomento nella Guida per gli sviluppatori di Amazon Simple Notification Service.

  2. Iscriviti all'argomento Amazon SNS. Ad esempio, se desideri ricevere le notifiche di errore di rendering via e-mail, effettua la sottoscrizione di un endpoint di e-mail (ovvero il tuo indirizzo e-mail) all'argomento.

    Per le istruzioni, consulta Sottoscrizione a un argomento nella Guida per gli sviluppatori di Amazon Simple Notification Service.

  3. Completa le procedure in Configurazione di una destinazione degli eventi Amazon SNS per la pubblicazione di eventi per impostare i set di configurazione per la pubblicazione degli eventi di errore di rendering nel tuo argomento Amazon SNS.

Fase 2: creazione di un modello di e-mail

In questa sezione, si utilizza l'operazione CreateTemplate API per creare un nuovo modello di e-mail con attributi di personalizzazione.

Questa procedura si basa sul presupposto che l' AWS CLI sia già stata installata e configurata. Per ulteriori informazioni sull'installazione e la configurazione di AWS CLI, consulta la Guida per l'AWS Command Line Interface utente.

Creazione del modello
  1. In un editor di testo, crea un nuovo file. Incolla il codice seguente nel file.

    { "Template": { "TemplateName": "MyTemplate", "SubjectPart": "Greetings, {{name}}!", "HtmlPart": "<h1>Hello {{name}},</h1><p>Your favorite animal is {{favoriteanimal}}.</p>", "TextPart": "Dear {{name}},\r\nYour favorite animal is {{favoriteanimal}}." } }

    Questo codice contiene le seguenti proprietà:

    • TemplateName— Il nome del modello. Quando invii l'e-mail, fai riferimento a questo nome.

    • SubjectPart— L'oggetto dell'e-mail. Questa proprietà può contenere tag di sostituzione. Questi tag utilizzano il formato seguente: {{tagname}}. Quando invii l'e-mail, puoi specificare un valore tagname per ogni destinazione.

      L'esempio precedente include due tag: {{name}} e {{favoriteanimal}}.

    • HtmlPart— Il corpo HTML dell'e-mail. Questa proprietà può contenere tag di sostituzione.

    • TextPart— Il corpo del testo dell'e-mail. I destinatari i cui client e-mail non visualizzano e-mail in formato HTML vedranno questa versione del messaggio. Questa proprietà può contenere tag di sostituzione.

  2. Personalizza l'esempio precedente in base alle tue esigenze, quindi salva il file come mytemplate.json.

  3. Alla riga di comando, digita il comando seguente per creare un nuovo modello utilizzando l'operazione API CreateTemplate:

    aws ses create-template --cli-input-json file://mytemplate.json

Fase 3: invio dell'e-mail personalizzata

Dopo aver creato un modello di e-mail, puoi utilizzarlo per l'invio di e-mail. Puoi utilizzare due operazioni API per inviare e-mail utilizzando modelli: SendTemplatedEmail e SendBulkTemplatedEmail. L'operazione SendTemplatedEmail è utile per l'invio di un'e-mail personalizzata a una singola destinazione (una raccolta di destinatari "A", "CC" e "BCC" che riceveranno la stessa e-mail). L'operazione SendBulkTemplatedEmail è utile per l'invio di e-mail univoche a più destinazioni in una singola chiamata all'API Amazon SES. Questa sezione fornisce esempi di come AWS CLI utilizzare l'invio di e-mail utilizzando entrambe queste operazioni.

Invio di un'e-mail basata su modello a una destinazione singola

Puoi utilizzare l'operazione SendTemplatedEmail per inviare un'e-mail a una destinazione singola. Tutti i destinatari nell'oggetto Destination riceveranno la stessa e-mail.

Invio di un'e-mail basata su modello a una destinazione singola
  1. In un editor di testo, crea un nuovo file. Incolla il codice seguente nel file.

    { "Source":"Mary Major <mary.major@example.com>", "Template": "MyTemplate", "ConfigurationSetName": "ConfigSet", "Destination": { "ToAddresses": [ "alejandro.rosalez@example.com" ] }, "TemplateData": "{ \"name\":\"Alejandro\", \"favoriteanimal\": \"alligator\" }" }

    Questo codice contiene le seguenti proprietà:

    • Source: l'indirizzo e-mail del mittente.

    • Template: il nome del modello da applicare all'e-mail.

    • ConfigurationSetName— Il nome del set di configurazione da utilizzare per l'invio dell'e-mail.

      Nota

      È consigliabile utilizzare un set di configurazione configurato per pubblicare gli eventi di errore di rendering in Amazon SNS. Per ulteriori informazioni, consulta Fase 1: configurazione delle notifiche di eventi di errore di rendering.

    • Destination: gli indirizzi dei destinatari. Puoi includere più indirizzi "A", "CC" e "BCC". Quando utilizzi l'operazione SendTemplatedEmail, tutti i destinatari ricevono la stessa e-mail.

    • TemplateData— Una stringa JSON con escape che contiene coppie chiave-valore. Le chiavi corrispondono alle variabili nel modello (ad esempio, {{name}}). I valori rappresentano il contenuto che sostituisce le variabili nell'e-mail.

  2. Modifica i valori nel codice precedente in base alle tue esigenze, quindi salva il file con il nome myemail.json.

  3. Alla riga di comando, digita il seguente comando per inviare l'email:

    aws ses send-templated-email --cli-input-json file://myemail.json

Invio di un'e-mail basata su modello a più destinazioni

Puoi utilizzare l'operazione SendBulkTemplatedEmail per inviare un'e-mail a diverse destinazioni in un'unica chiamata all'API. Amazon SES invia un'e-mail univoca al destinatario o ai destinatari in ogni oggetto Destination.

Invio di un'e-mail basata su modello a più destinazioni
  1. In un editor di testo, crea un nuovo file. Incolla il codice seguente nel file.

    { "Source":"Mary Major <mary.major@example.com>", "Template":"MyTemplate", "ConfigurationSetName": "ConfigSet", "Destinations":[ { "Destination":{ "ToAddresses":[ "anaya.iyengar@example.com" ] }, "ReplacementTemplateData":"{ \"name\":\"Anaya\", \"favoriteanimal\":\"angelfish\" }" }, { "Destination":{ "ToAddresses":[ "liu.jie@example.com" ] }, "ReplacementTemplateData":"{ \"name\":\"Liu\", \"favoriteanimal\":\"lion\" }" }, { "Destination":{ "ToAddresses":[ "shirley.rodriguez@example.com" ] }, "ReplacementTemplateData":"{ \"name\":\"Shirley\", \"favoriteanimal\":\"shark\" }" }, { "Destination":{ "ToAddresses":[ "richard.roe@example.com" ] }, "ReplacementTemplateData":"{}" } ], "DefaultTemplateData":"{ \"name\":\"friend\", \"favoriteanimal\":\"unknown\" }" }

    Questo codice contiene le seguenti proprietà:

    • Source: l'indirizzo e-mail del mittente.

    • Template: il nome del modello da applicare all'e-mail.

    • ConfigurationSetName— Il nome del set di configurazione da utilizzare per l'invio dell'e-mail.

      Nota

      È consigliabile utilizzare un set di configurazione configurato per pubblicare gli eventi di errore di rendering in Amazon SNS. Per ulteriori informazioni, consulta Fase 1: configurazione delle notifiche di eventi di errore di rendering.

    • Destinations: una matrice che contiene una o più destinazioni.

      • Destination: gli indirizzi dei destinatari. Puoi includere più indirizzi "A", "CC" e "BCC". Quando utilizzi l'operazione SendBulkTemplatedEmail, tutti i destinatari nello stesso oggetto Destination ricevono la stessa e-mail.

      • ReplacementTemplateData— Un oggetto JSON che contiene coppie chiave-valore. Le chiavi corrispondono alle variabili nel modello (ad esempio, {{name}}). I valori rappresentano il contenuto che sostituisce le variabili nell'e-mail.

    • DefaultTemplateData— Un oggetto JSON che contiene coppie chiave-valore. Le chiavi corrispondono alle variabili nel modello (ad esempio, {{name}}). I valori rappresentano il contenuto che sostituisce le variabili nell'e-mail. Questo oggetto contiene i dati di fallback. Se un oggetto Destination contiene un oggetto JSON vuoto nella proprietà ReplacementTemplateData, vengono utilizzati i valori della proprietà DefaultTemplateData.

  2. Modifica i valori nel codice precedente in base alle tue esigenze, quindi salva il file con il nome mybulkemail.json.

  3. Alla riga di comando, digita il seguente comando per inviare e-mail in blocco:

    aws ses send-bulk-templated-email --cli-input-json file://mybulkemail.json