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

Uzantı yapılandırması sırasında bir "Şablon koleksiyonu" parametresi belirttiyseniz e-postalarınız için Handlebars şablonları oluşturabilir ve 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 bir ş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 bir şablon dizesi.
  • attachments: Değerleri şablon dizeleriyle olan bir ek dizisi; desteklenen Nodemailer seçenekleri: 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).

Bir örnek şablonun kimliği following olabilir ve aşağıdaki gibi bir içeriği 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

Şablonları kullanarak e-posta göndermek için posta koleksiyonunuza doküman eklerken name ve data özelliklerini içeren bir template 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ısmileri

Ş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 bir kısmi olarak tanımlanır. Örneğin, footer adlı bir kısmi veri şunları içerebilir:

{
  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ına (doküman kimliği) yer vererek kısmi içeriği ekleyin:

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

{{> footer }}