Usando modelos para enviar e-mails personalizados com a Amazon SES API - 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á.

Usando modelos para enviar e-mails personalizados com a Amazon SES API

Você pode usar a CreateTemplateAPIoperação para criar modelos de e-mail. Esses modelos incluem uma linha de assunto e o texto e HTML partes do corpo do 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 de tamanho, incluindo o texto e HTML as partes.

  • 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 CC e BCC destinatários. 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 da sua conta. Para obter 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 com conteúdo de personalização inválido, a Amazon SES poderá aceitar a mensagem, mas não poderá entregá-la. Por esse motivo, se você planeja enviar um e-mail personalizado, você deve configurar SES a Amazon para enviar notificações de eventos de falha de renderização pela AmazonSNS. 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. Crie um SNS tópico da Amazon. Para obter procedimentos, consulte Criar um tópico no Guia do desenvolvedor do Amazon Simple Notification Service.

  2. Inscreva-se no SNS tópico da Amazon. 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. Conclua os procedimentos Configure um destino de eventos do Amazon SNS para publicação de eventos para configurar seus conjuntos de configurações para publicar eventos de falha de renderização em seu SNS tópico da Amazon.

Parte 2: Criar um modelo de e-mail

Nesta seção, você usa a CreateTemplate API operação 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 HTML corpo do e-mail. Essa propriedade pode conter tags de substituição.

    • TextPart— O corpo do texto do e-mail. Destinatários cujos clientes de e-mail não exibem HTML e-mails veem essa 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 seguinte comando para criar um novo modelo usando a CreateTemplate API operação:

    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 API operações que você pode usar para enviar e-mails usando modelos: SendTemplatedEmail SendBulkTemplatedEmail e. A SendTemplatedEmail operação é útil para enviar um e-mail personalizado para um único destino (uma coleção de destinatários “Para”, “CC” e BCC "" que receberão o mesmo e-mail). A SendBulkTemplatedEmail operação é útil para enviar e-mails exclusivos para vários destinos em uma única chamada para a Amazon SESAPI. 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 configurado para publicar eventos de falha de renderização na AmazonSNS. Para obter 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 “Para”, “CC” e BCC "”. Quando você usa a operação SendTemplatedEmail, todos os destinatários recebem o mesmo e-mail.

    • TemplateData— Uma JSON string de 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 SendBulkTemplatedEmail operação para enviar um e-mail para vários destinos em uma única chamada para API o. SESA Amazon envia um e-mail exclusivo para o destinatário ou destinatários em cada Destination objeto.

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 configurado para publicar eventos de falha de renderização na AmazonSNS. Para obter 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 “Para”, “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 JSON objeto 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 JSON objeto 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 Destination objeto contiver um JSON objeto vazio na ReplacementTemplateData propriedade, os valores na DefaultTemplateData propriedade 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