Tetikleyici E-posta uzantısı (firestore-send-email
),
bir Cloud Firestore koleksiyonundaki belgelere dayalı e-postalar gönderilir. Şu koleksiyona doküman ekleniyor:
koleksiyon,
belgeleri de kullanabilirsiniz. Dokümanın üst düzey alanları, e-postayı göndereni belirtir ve
alıcı sayısı (to
, cc
ve bcc
seçenekleri dahil) (her biri UID'yi destekleyen UID). İlgili içeriği oluşturmak için kullanılan
dokümanın message
alanı, konu satırı gibi diğer e-posta öğelerini belirtir
ve e-posta gövdesinden (düz metin veya HTML) oluşur.
Bu uzantıyı tetikleyecek temel bir doküman yazma örneğini burada bulabilirsiniz:
admin.firestore().collection('mail').add({
to: 'someone@example.com',
message: {
subject: 'Hello from Firebase!',
html: 'This is an <code>HTML</code> email body.',
},
})
İsterseniz bu uzantıyı Gidon çubuğu şablonları.
Kurulum öncesi kurulum
Uzantıyı yüklemeden önce aşağıdaki adımları tamamlayın:
Giden posta hizmetinizi ayarlayın.
Tetikleyici E-posta uzantısını yüklediğinizde SMTP sunucusunun bağlantı ve kimlik doğrulama bilgilerini içeren e-posta göndermek için kullanıyor. Bu teslimat, genellikle bir e-posta teslim hizmeti tarafından sağlanır. gibi örneğin, Sendgrid, Mailgun veya Mailchimp İşlem E-postası sizin yönettiğiniz bir sunucu da olabilir.
Bir e-posta dokümanları koleksiyonu oluşturun.
Tetikleyici E-posta uzantısı, Cloud Firestore'daki yeni dokümanları dinler . Yeni bir doküman bulduğunda, dokümanın alanlarına göre bir e-posta gönderir. İstediğiniz Cloud Firestore'u kullanabilirsiniz bu amaçla veri toplama; bu sayfadaki örneklerde bir koleksiyon
email
olarak adlandırıldı.E-posta dokümanları toplama işleminiz için güvenlik kuralları oluşturun.
Bu uzantı, e-posta teslimini doğrudan müşteriden tetiklemek için kullanılabilir izin verir. Ancak web sitenize müşteri erişimini kötüye kullanım olasılığından kaçınmak için koleksiyonunuzu şirketinizin adresinden rastgele e-postalar gönderilir!).
Güvenlik kuralları uygulamadan uygulamaya değişir, ancak her zaman e-postaların yalnızca hedeflenen alıcılara gönderildiğinden mümkün olduğunca azdır. Şablonlar size bu konuda yardımcı olabilir. veri feed'inizde doldurulduğundan emin olmak için şablonun, kullanıcıya nelere izin verileceğine ilişkin beklentilerinizi tetikleyici olur.
İsteğe bağlı: Bir kullanıcı koleksiyonu oluşturun.
Bu uzantının temel kullanımı altında bir e-postanın alıcılarını belirtirsiniz e-posta adreslerini
to
,cc
vebcc
alanlarında belirterek seçeneğini tıklayın. Alternatif olarak, Cloud Firestore'u kullanıyorsanız UID'ler. Bunun için için kullanıcı koleksiyonunuzun şu ölçütleri karşılaması gerekir:- Koleksiyon, kullanıcı kimliklerine bağlı olmalıdır. Yani her bir dokümanın belge kimliği koleksiyondaki kullanıcı dokümanı, kullanıcının Firebase Authentication UID'si olmalıdır.
- Her kullanıcı dokümanında kullanıcının e-posta adresini içeren bir
email
alanı olmalıdır girin.
İsteğe bağlı: Bir şablon koleksiyonu oluşturun.
E-postaları, Herkese açık kullanıcı adı şablonları kullanarak oluşturabilirsiniz. Bunu yapmak için kullanabilirsiniz.
Tetikleyici E-posta uzantısıyla tutma yeri şablonlarını kullanma başlıklı makaleye göz atın. inceleyebilirsiniz.
Uzantıyı yükle
Uzantıyı yüklemek için Firebase uzantısını yükleme sayfasını ziyaret edin. Özet olarak, aşağıdakilerden birini yapın:
Firebase konsolu: Aşağıdaki düğmeyi tıklayın:
KSA: Aşağıdaki komutu çalıştırın:
firebase ext:install firebase/firestore-send-email --project=projectId-or-alias
Uzantıyı yüklediğinizde SMTP'nizi belirtmeniz istenir bağlantı bilgileri ve daha önce oluşturduğunuz Cloud Firestore koleksiyonlarını gözden geçirin.
Uzantıyı kullanma
Yükleme işleminden sonra bu uzantı
koleksiyonudur. E-postalar, videonun içeriğine göre
belgeleri de kullanabilirsiniz. Üst düzey alanlar e-postayı göndereni belirtir ve
alıcı sayısı. message
alanında, teslim edilecek e-postanın ayrıntıları yer alır.
e-posta gövdesi de dahil.
Örnek: E-posta gönderme
Basit bir ileti göndermek için to
ile ileti koleksiyonunuza doküman ekleyin.
alanı ve aşağıdaki içeriğe sahip bir message
alanı olacaktır:
to: ['someone@example.com'],
message: {
subject: 'Hello from Firebase!',
text: 'This is the plaintext section of the email body.',
html: 'This is the <code>HTML</code> section of the email body.',
}
Gönderen ve alıcı alanları
E-postayı göndereni ve alıcıyı dokümanın en üst düzey alanları sağlar. ekleyebilirsiniz. Kullanılabilir alanlar şunlardır:
- from: Gönderenin e-posta adresi. Dokümanda belirtilmezse yapılandırılmış "Varsayılan FROM adresi"ni kullanır. parametresinden sonra bir değer girin.
- replyTo: Yanıt e-posta adresi. Dokümanda belirtilmemişse yapılandırılan "Varsayılan YANIT-KİMLİĞİ" adresini kullanır. parametresinden sonra bir değer girin.
- to: Tek bir alıcının e-posta adresi veya birden fazla alıcı e-posta adresi içeren bir dizi.
- toUids: Alıcı UID'lerini içeren bir dizi.
- cc: Tek bir alıcının e-posta adresi veya birden çok alıcı e-posta adresi içeren bir dizi.
- ccUid'ler: CC alıcısı UID'lerini içeren bir dizi.
- bcc: Tek bir alıcının e-posta adresi veya birden çok alıcı e-posta adresi içeren bir dizi.
- bccUids: BCC alıcısı UID'lerini içeren bir dizi.
- headers: Ek başlık alanlarının bulunduğu nesne (örneğin,
{"X-Custom-Header": "value", "X-Second-Custom-Header": "value"}
).
NOT: toUids
, ccUids
ve bccUids
seçenekleri, e-postaların teslim edilme zamanına göre
Cloud Firestore dokümanındaki e-posta adreslerine girilen kullanıcı UID'leri. Kullanılacak
bu alıcı seçeneklerini kullanabilmek için bir Cloud Firestore koleksiyonu
uzantının "Kullanıcı koleksiyonu" parametresinden sonra bir değer girin. Böylece uzantı,
toUids
, ccUids
ve/veya bccUids
alanlarında belirtilen her UID için email
alanı.
Mesaj alanı
Belgenin message
alanı,
e-posta gönderin. Bu alan, genellikle yalnızca şurada çalışan güvenilir kod tarafından doldurulmalıdır:
veya Cloud Functions (Güvenlik kuralları ve
e-posta" bölümüne bakın).
message
alanı için kullanılabilir özellikler şunlardır:
- messageId: E-postanın ileti kimliği üstbilgisi (varsa).
- subject: E-postanın konusu.
- text: E-postanın şifrelenmemiş metin içeriği.
- html: E-postanın HTML içeriği.
- amp: E-postanın AMP4EMAIL içeriği.
- attachments: Ekleri içeren bir dizi; 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).
İleri düzey kullanım
Bu uzantının daha ileri düzey kullanımı hakkında bilgi edinin:
- Gidon şablonlarını Trigger Email uzantısıyla kullanma
- Tetikleyici E-posta uzantısıyla teslim durumunu yönetme