Bilgi bankası
Şablonlar
Bir kez yazılan, sürümlenen ve defalarca gönderilen bir gövde: oluşturucudan, kendi kodunuzdan ya da bir aracı aracılığıyla.
Ayrıntılar
- Bir şablon, onu yazan kişiye değil bağlantıya aittir; bunun ilk sürümünün değiştirilmesinin bütün nedeni de budur. O sürüm kullanıcıya göre anahtarlanmıştı: bir takım arkadaşının şablonu çalışma alanı API anahtarı için görünmezdi, dolayısıyla bir entegrasyon, kurulumu yapan kişinin görebildiği şeyi gönderemiyordu ve yazarın hesabını silmek çalışma alanının şablonlarını da beraberinde götürüyordu. Satırlar silinmek yerine taşındı.
- Bir gövdeyi yazmanın iki yolu var.
@react-email/componentsbileşenleri üzerinde bir blok ağacı (Section, Row, Column, Container, Text, Heading, Button, Link, Img, Hr, Markdown, CodeBlock, CodeInline); yazılırken denetlenir, böylece hatalı bir düğüm ya da güvenli olmayan birhref, bozuk bir e-posta olarak ulaşmak yerine onu yazan çağrıda reddedilir. Ya da kendiniz oluşturduğunuz biçimlendirme: şablonlarınız zaten kendi deponuzda react-email bileşenleriyse, onları orada@react-email/renderile oluşturup HTML'i gönderin; bu HTML, sürüm yayımlandığında bir kez temizlenir. - Yirmi üç başlangıç noktası ve bir de boş olanı; bir menüde değil, bir galeride, çünkü bunlar aralarında seçim yapmadan önce bakmanız gereken şeyler, o yüzden her kart e-postanın kendisini gösterir. Karşılama ve doğrulama, makbuzlar ve faturalar, kargo ve yenilemeler, özetler ve duyurular; dört başlık altında dizilmiş ve her biri görsel düzenleyicide açılıyor, her parçası taşınabilir, yeniden biçimlendirilebilir ve silinebilir hâlde. Hangisini seçerseniz seçin taslak olarak gelir, dolayısıyla siz yayımlayana kadar hiçbiri gönderilebilir değildir.
- Galeri, bunun yalnızca uygulamada bulunan tek parçası. Şablonlara kendi kodunuzdan ya da bir aracıdan ulaşan bir çağrı, bir başlangıç noktası adlandırmak yerine bir gövde (bir blok belgesi ya da kendi biçimlendirmeniz) gönderir; dolayısıyla bu yirmi üç şey, kurulum yapılacak bir katalog değil, başlanacak bir yerdir.
- Adlandırılmış slot'lar ve adlandırılmış prop'lar iki tür boşluktur; gövdede ve konuda {{key}} biçiminde yazılır. Bir slot'u şablonu düzenleyen kişi doldurur ve bir varsayılan taşır, böylece hiçbir şey adlandırmayan bir gönderim bile yine de oluşturulur. Bir prop gönderim sırasında verilir ve required olarak işaretlenmiş olan biri eksikse gönderimi reddeder: bir 422 döner ve hiçbir posta çıkmaz. Bunu bildirmenin amacı da bu reddediştir: alternatifi, sipariş numarasının olması gereken yerde boşlukla giden, kimsenin raporlamadığı ve kimsenin geri çağıramayacağı bir mesajdır.
- Yayımlanmış bir sürüm dondurulmuştur. Yayımlanmış bir şablonun gövdesini düzenlemek, yayında olanı yeniden yazmak yerine yeni bir taslak oluşturur; böylece gönderimler biri yayımlayana kadar dün çözümledikleri şeyi çözümlemeye devam eder ve bir sürüm numarasını sabitleyen bir gönderim o zaman bile etkilenmez. Gövde yayımlama anında derlenir; oluşturulamayan bir şablonun hatasının bir alıcıya değil, onu yayımlayan kişiye düşmesini sağlayan da budur.
- Önizleme, bir gönderimin üreteceği şeyi göndermeden birebir oluşturur ve hâlâ boş olanları reddetmek yerine bildirir. Önizlenen bir şablon genellikle yazılmakta olan bir şablondur ve bloğu tek tek dolduran bir yazarın, buraya kadar ne yaptığını görmek için her prop'u karşılaması gerekmemeli.
- Her şablon, ne gönderdiğine dair kendi kaydını taşır: son yedi, otuz veya doksan günde kaç tanesinin çıktığı, hangilerinin açıldığı ve hangilerine tıklandığı, gün gün bir seri ve her gönderimin nereden geldiğine göre bir dağılım: oluşturucu, kodunuz, bir aracı ya da kuyruk. Her oran kendi paydasını ödünç almak yerine kendisi adlandırır, çünkü gerçekten farklıdırlar: açılmalar piksel taşıyan mesajlar üzerinden, tıklamalar yeniden yazılmış bağlantı taşıyan mesajlar üzerinden sayılır ve bir mesaj birini diğeri olmadan taşıyabilir. Bir önizleme hiçbir zaman kaydedilmez, bir test gönderimi ise ayrıca sayılır ve hiç çıkmadığı için her rakamın dışında bırakılır.
- Bu kayıt, göremediği şey konusunda dürüsttür; görebildiği yarısına güvenmenin nedeni de budur. Bir gönderim, teslimat kaydıyla gönderimin kendisi üzerinden eşleştirilir ve yalnızca kendi kodunuzdan ya da kuyruktan gönderilen postalar böyle bir kayıt taşır. Oluşturucudan, bir aracıdan ya da asistan tarafından gönderilen bir mesaj taşımaz. Dolayısıyla çoğunlukla oluşturucudan kullanılan bir şablon, gönderimlerinin çoğu eşleşmemiş hâlde gelir ve eşleşmeyen sayı, “kimse açmadı” diye içine katılmak yerine kendi başına bir rakam olarak gösterilir.
- Tek bir servis üzerinde dört yüzey; böylece “yayımlamak ne demek” sorusunun bugün birbiriyle uyuşan üç yanıtı değil, tek bir yanıtı var. Oluşturucunun Templates düğmesi yayımlanmış olanları sunar ve seçtiğinizi araya yapıştırmak yerine mesajın YERİNE KOYAR: gönderim şablonu adlandırır, sürüm seçtiğiniz anda sabitlenir ve gövde yazıldığı yerde oluşturulur; böylece seçmekle tıklamak arasında yapılan bir yayımlama gidecek olanı değiştiremez ve oluşturucunun taşıyamayacağı bir yerleşim olduğu gibi korunur. Orada doldurduğunuz şey gövde değil, değerlerdir. /templates, templates:read ve templates:write kapsamlarının arkasında dokuz uç noktadır ve SDK tarafından yöntem yöntem sarmalanır. Bir şablonu göndermek, şablon izninin yanı sıra bir gönderim izni de gerektirir; böylece bir metin yazarlığı aracına verilen bir anahtar, kimseye posta gönderemeden şablon yazıp yayımlayabilir. MCP sunucusu beş araç taşır: list, read, preview, create ve send. Mevcut bir şablonu güncellemek, silmek veya yayımlamak için bilinçli olarak hiçbir araç yoktur. Bir düzenleme, bir sonraki gönderimin çözümlemeyeceği bir taslak oluşturur ve bir silme geri alınamaz. Kayıtlı bir gövdeyi düzenlemek bir ekrandır: /workspace/templates, bir paleti ve bir denetçisi olan bir blok tuvali, yanında canlı bir önizleme ve ayrı eylemler olarak Save ile Publish taşır; yayımlanmış bir sürümü, siz bir sonraki üzerinde çalışırken rahat bırakabileceğiniz bir şey hâline getiren de budur.
- Bağlantı başına 200 şablon, en fazla 500 blokluk bir blok belgesi, sekiz düzey iç içe geçme, tek bir değerde 20.000 karakter ve 100 slot ile 100 prop; biçimlendirme olarak gönderilen bir gövde bir milyon karakterle, konu ise 998 ile sınırlı. Bunların her biri bir plan sınırı değil, kontrolden çıkmış bir betiğe karşı bir korumadır; her biri reddettiği sayıyı adlandıran bir mesajla reddeder ve şablonlarla ilgili hiçbir şey bir katmanın arkasında değildir.