Gidon şablonlarını Trigger Email uzantısıyla kullanma

Uzantının yapılandırılması sırasında bir "Şablon koleksiyonu" parametresi belirttiyseniz e-postalarınız için Handlebars şablonları oluşturup yönetebilirsiniz.

Şablon koleksiyonu yapısı

Her dokümana, şablon koleksiyonunuza yazdığınız dokümanlarda şablon adı olarak kullanacağınız akılda kalıcı bir kimlik verin.

Şablon belgesi aşağıdaki alanlardan herhangi birini içerebilir:

  • subject: E-postanın konusu için bir şablon dizesi.
  • text: E-postanın düz metin içeriği için şablon dizesi.
  • html: E-postanın HTML içeriği için bir şablon dizesi.
  • amp: E-postanın AMP4EMAIL içeriği için şablon dizesi.
  • attachments: Değer olarak şablon dizeleri içeren ekler dizisi; Nodemailer seçenekleri desteklenir: utf-8 dizesi, özel içerik türü, URL, kodlanmış dize, veri URI'si ve önceden oluşturulmuş MIME düğümü (e-postanızın bulut sunucusunun dosya sistemine erişimi olmadığını unutmayın).

Örnek bir şablonun kimliği following ve içeriği şu şekilde olabilir:

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

Şablonları kullanarak e-posta gönderme

E-postaları şablon kullanarak yayınlamak için posta koleksiyonunuza doküman eklerken template ve data özelliklerini içeren bir name alanı ekleyin. Örneğin, yukarıdaki following şablonumuzu kullanarak:

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"
      },
    },
  });

Şablon Kısmi Öğeleri

Şablon belgesinde {partial: true} belirterek yeniden kullanılabilir parçalar kullanarak şablonlar oluşturabilirsiniz. Standart veri alanlarının (subject, html, text ve amp) her biri yalnızca kendi ortamında kullanılan kısmi olarak tanımlanır. Örneğin, footer adlı bir kısmi şablonda şu gibi veriler olabilir:

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

Başka bir şablonda, adını (belge kimliği) referans vererek kısmi şablonu ekleyin:

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

{{> footer }}