Como usar modelos para enviar e-mails personalizados com a API do Amazon SES - Amazon Simple Email Service

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

Como usar modelos para enviar e-mails personalizados com a API do Amazon SES

Você pode usar a operação CreateTemplateda API para criar modelos de e-mail. Esses modelos incluem uma linha de assunto e as partes em texto e HTML do corpo de e-mail. As seções de assunto e corpo também podem conter valores exclusivos e personalizados para cada destinatário.

Há alguns limites e outras considerações ao usar esses recursos:

  • Você pode criar até 20.000 modelos de e-mail em cada um Região da AWS.

  • Cada modelo pode ter até 500 KB, incluindo as partes de texto e de HTML.

  • Você pode incluir um número ilimitado de variáveis de substituição em cada modelo.

  • Você pode enviar e-mails para até 50 destinos em cada chamada para a operação SendBulkTemplatedEmail. Um destino inclui uma lista de destinatários, incluindo os destinatários e CC e BCC. O número de destinos com os quais você pode entrar em contato em uma única chamada à API pode ser limitado pela taxa máxima de envio de sua conta. Para ter mais informações, consulte Gerenciamento de limites do envio do Amazon SES.

Esta seção inclui procedimentos para a criação de modelos de e-mail e para o envio de e-mails personalizados.

nota

Os procedimentos desta seção também pressupõem que você já instalou e configurou a AWS CLI. Para obter mais informações sobre como instalar e configurar o AWS CLI, consulte o Guia do AWS Command Line Interface usuário.

Parte 1: Configurar notificações de eventos de falha de processamento

Se você enviar um e-mail que contenha conteúdo de personalização inválido, o Amazon SES pode até aceitar a mensagem, mas não poderá entregá-la. Por esse motivo, se você planeja enviar e-mails personalizados, configure o Amazon SES para enviar notificações de eventos de falha de processamento pelo Amazon SNS. Ao receber uma notificação de evento de Falha de renderização, você pode identificar qual mensagem continha o conteúdo inválido, corrigir os problemas e enviar a mensagem novamente.

O procedimento nesta seção é opcional, mas altamente recomendado.

Para configurar notificações de eventos de Falha de renderização
  1. Criar um tópico do Amazon SNS. Para obter procedimentos, consulte Criar um tópico no Guia do desenvolvedor do Amazon Simple Notification Service.

  2. Assine o tópico do Amazon SNS. Por exemplo, se você quiser receber notificações de Falha de renderização por e-mail, inscreva um endpoint de e-mail (ou seja, seu endereço de e-mail) no tópico.

    Para obter os procedimentos, consulte Assinar um tópico no Guia do desenvolvedor do Amazon Simple Notification Service.

  3. Execute os procedimentos em Configure um destino de eventos do Amazon SNS para publicação de eventos para configurar os conjuntos de configurações para publicação de eventos de falha de processamento no seu tópico sobre o Amazon SNS.

Parte 2: Criar um modelo de e-mail

Nesta seção, você usa a operação de CreateTemplate API para criar um novo modelo de e-mail com atributos de personalização.

Esse procedimento pressupõe que você já tenha instalado e configurado a AWS CLI. Para obter mais informações sobre como instalar e configurar o AWS CLI, consulte o Guia do AWS Command Line Interface usuário.

Para criar o modelo
  1. Em um editor de texto, crie um novo arquivo. Cole o seguinte código no arquivo.

    { "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}}." } }

    Esse código contém as seguintes propriedades:

    • TemplateName— O nome do modelo. Quando você enviar o e-mail, consulte este nome.

    • SubjectPart— A linha de assunto do e-mail. Essa propriedade pode conter tags de substituição. Essas tags usam o seguinte formato: {{tagname}}. Quando você envia o e-mail, pode especificar um valor para tagname de cada destino.

      O exemplo anterior inclui duas tags: {{name}} e {{favoriteanimal}}.

    • HtmlPart— O corpo HTML do e-mail. Essa propriedade pode conter tags de substituição.

    • TextPart— O corpo do texto do e-mail. Os destinatários cujos clientes de e-mail não exibem e-mail HTML veem esta versão do e-mail. Essa propriedade pode conter tags de substituição.

  2. Personalize o exemplo anterior de acordo com as suas necessidades e salve o arquivo como mytemplate.json.

  3. Na linha de comando, digite o comando a seguir para criar um novo modelo usando a operação de API do CreateTemplate:

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

Parte 3: Enviar os e-mails personalizados

Depois de criar um modelo de e-mail, você poderá usá-lo para enviar e-mails. Há duas operações da API que você pode usar para enviar e-mails usando modelos: SendTemplatedEmail e SendBulkTemplatedEmail. A operação SendTemplatedEmail é útil para enviar um e-mail personalizado a um único destino (uma coleção de destinatários "To", "CC" e "BCC" que receberá o mesmo e-mail). A operação SendBulkTemplatedEmail é útil para enviar e-mails exclusivos a vários destinos em uma única chamada para a API do Amazon SES. Esta seção fornece exemplos de como usar o AWS CLI para enviar e-mails usando essas duas operações.

Enviar e-mail em modelo a um único destino

Você pode usar a operação SendTemplatedEmail para enviar um e-mail para um único destino. Todos os destinatários no objeto Destination receberão o mesmo e-mail.

Para enviar um e-mail em modelo a um único destino
  1. Em um editor de texto, crie um novo arquivo. Cole o seguinte código no arquivo.

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

    Esse código contém as seguintes propriedades:

    • Source – O endereço de e-mail do remetente.

    • Template – O nome do modelo a ser aplicado ao e-mail.

    • ConfigurationSetName— O nome do conjunto de configurações a ser usado ao enviar o e-mail.

      nota

      Recomendamos que você use um conjunto de configurações definido para publicar eventos de falha de processamento no Amazon SNS. Para ter mais informações, consulte Parte 1: Configurar notificações de eventos de falha de processamento.

    • Destination (Destino): os endereços dos destinatários. Você pode incluir vários endereços "To", "CC" e "BCC". Quando você usa a operação SendTemplatedEmail, todos os destinatários recebem o mesmo e-mail.

    • TemplateData— Uma string JSON com escape que contém pares de valores-chave. As chaves correspondem às variáveis do modelo (por exemplo, {{name}}). Os valores representam o conteúdo que substitui as variáveis no e-mail.

  2. Altere os valores no código da etapa anterior de acordo com as suas necessidades e salve o arquivo como myemail.json.

  3. Na linha de comando, digite o seguinte comando para enviar o e-mail:

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

Enviar e-mail em modelo a vários destinos

Você pode usar a operação SendBulkTemplatedEmail para enviar um e-mail a vários destinos em uma única chamada para a API. O Amazon SES envia um e-mail exclusivo para os destinatários em cada objeto Destination.

Para enviar um e-mail de modelo a vários destinos
  1. Em um editor de texto, crie um novo arquivo. Cole o seguinte código no arquivo.

    { "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\" }" }

    Esse código contém as seguintes propriedades:

    • Source – O endereço de e-mail do remetente.

    • Template – O nome do modelo a ser aplicado ao e-mail.

    • ConfigurationSetName— O nome do conjunto de configurações a ser usado ao enviar o e-mail.

      nota

      Recomendamos que você use um conjunto de configurações definido para publicar eventos de falha de processamento no Amazon SNS. Para ter mais informações, consulte Parte 1: Configurar notificações de eventos de falha de processamento.

    • Destinations – Uma matriz que contém um ou mais destinos.

      • Destination (Destino): os endereços dos destinatários. Você pode incluir vários endereços "To", "CC" e "BCC". Quando você usa a operação SendBulkTemplatedEmail, todos os destinatários dentro do mesmo objeto Destination recebem o mesmo e-mail.

      • ReplacementTemplateData— Um objeto JSON que contém pares de valores-chave. As chaves correspondem às variáveis do modelo (por exemplo, {{name}}). Os valores representam o conteúdo que substitui as variáveis no e-mail.

    • DefaultTemplateData— Um objeto JSON que contém pares de valores-chave. As chaves correspondem às variáveis do modelo (por exemplo, {{name}}). Os valores representam o conteúdo que substitui as variáveis no e-mail. Este objeto contém dados de fallback. Se um objeto Destination contiver um objeto JSON vazio na propriedade ReplacementTemplateData, os valores da propriedade DefaultTemplateData serão usados.

  2. Altere os valores no código da etapa anterior de acordo com as suas necessidades e salve o arquivo como mybulkemail.json.

  3. Na linha de comando, digite o seguinte comando para enviar o e-mail em massa:

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