Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Use modelos de guidão com a extensão Trigger Email

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Se você especificou um parâmetro "Coleção de modelos" durante a configuração da extensão, poderá criar e gerenciar modelos de modelos do Handlebars para seus emails.

Estrutura de coleção de modelos

Dê a cada documento um ID memorável que você usa como o nome do modelo nos documentos que você grava em sua coleção de modelos.

O documento modelo pode incluir qualquer um dos seguintes campos:

  • assunto: uma string de modelo para o assunto do email.
  • text: uma string de modelo para o conteúdo de texto simples do email.
  • html: uma string de modelo para o conteúdo HTML do email.
  • amp: uma string de modelo para o conteúdo AMP4EMAIL do email.
  • attachments: uma matriz de anexos com strings de modelo como valores; Opções do Nodemailer suportadas: string utf-8, tipo de conteúdo personalizado, URL, string codificada, URI de dados e nó MIME pré-gerado (esteja ciente de que seu email não tem acesso ao sistema de arquivos do servidor em nuvem).

Um modelo de exemplo pode ter um ID de following e conteúdo como:

{
  subject: "@{{username}} is now following you!",
  html: "Just writing to let you know that <code>@{{username}}</code> ({{name}}) is now following you.",
  attachments: [
    {
     filename: "{{username}}.jpg",
     path: "{{imagePath}}"
    }
  ]
}

Envie e-mails usando modelos

Para entregar emails usando modelos, ao adicionar documentos à sua coleção de emails, inclua um campo de template com name e propriedades data . Por exemplo, usando nosso modelo a following acima:

admin
  .firestore()
  .collection("MAIL_COLLECTION")
  .add({
    toUids: ["abc123"],
    template: {
      name: "following",
      data: {
        username: "ada",
        name: "Ada Lovelace",
        imagePath: "https://example.com/path/to/file/image-name.jpg"
      },
    },
  });

Modelos parciais

Você pode compor modelos usando parciais reutilizáveis ​​especificando {partial: true} no documento de modelo. Cada um dos campos de dados padrão ( subject , html , text e amp ) será definido como parcial usado apenas em seu próprio ambiente. Por exemplo, um footer parcial chamado pode ter dados como:

{
  partial: true,
  html: "<p>This mail was sent by ExampleApp, Inc. <a href='https://example.com/unsubscribe'>Unsubscribe</a></p>",
  text: "This mail was sent by ExampleApp, Inc. Unsubscribe here: https://example.com/unsubscribe"
}

Em outro modelo, inclua a parcial referenciando seu nome (ID do documento):

<p>This is my main template content, but it will use a common footer.</p>

{{> footer }}