Salesforce'ta Visualforce E-posta Şablonları
Yayınlanan: 2021-05-13Visualforce e-posta şablonları ile kullanıcılar, hedeflenen ve kişiselleştirilmiş e-postalar gönderebilir. Şablon oluşturucular, şablonlu e-posta içeriği oluşturmak için güçlü Visualforce programlama dilinden yararlanabilir.
Geliştiriciler ve yöneticiler, e-posta şablonları oluşturmak için Visualforce'u kullanabilir. Visualforce'u standart HTML e-posta şablonlarına göre kullanmanın avantajı, Visualforce'un size bir alıcıya gönderilen veriler üzerinde gelişmiş işlemler gerçekleştirme yeteneği vermesidir.
Tüm Visualforce e-posta şablonları, tek bir <messaging:emailTemplate> etiketi içinde yer almalıdır. Bu, tek bir <apex:page> etiketi içinde tanımlanan normal Visualforce sayfalarına benzer.
- <messaging:emailTemplate> etiketi, tek bir <messaging:htmlEmailBody> etiketi veya tek bir <messaging:plainTextEmailBody> etiketi içermelidir.
- Birkaç standart Visualforce bileşeni, <messaging:emailTemplate> içinde kullanım için mevcut değildir. Bunlara <apex:detail>,<apex:pageBlock> ve ilgili tüm pageBlock bileşenleri ve <apex:form> gibi tüm girdi bileşenleri dahildir. Bu bileşenlerle bir Visualforce e-posta şablonunu kaydetmeye çalışırsanız bir hata mesajı görüntülenir.
Aşağıdakilerden birini yapın:
- Genel şablonları düzenleme izniniz varsa, Kurulum'dan Hızlı Bul kutusuna E-posta Şablonları girin ve ardından Klasik E-posta Şablonları'nı seçin.
- Genel şablonları düzenleme izniniz yoksa kişisel ayarlarınıza gidin. Hızlı Bul kutusuna Şablonlar'ı girin, ardından E-posta Şablonları'nı veya Şablonlarım'ı seçin; hangisi görünürse.
- 1. Yeni Şablon'a tıklayın.
- 2. Visualforce'u seçin ve İleri'ye tıklayın.
- 3. Visualforce e-posta şablonu kullanarak toplu e-posta gönderemezsiniz.
- 4. Şablonun saklanacağı bir klasör seçin.
- 5. Şablonu kullanıma hazır hale getirmek için Kullanılabilir onay kutusunu seçin.
- 6. E-posta Şablonu Adı alanına bir ad girin.
- 7. Gerekirse, Şablonun Benzersiz Adını değiştirin. Bu benzersiz ad, Lightning Platform API'sini kullandığınızda bileşene atıfta bulunur. Yönetilen paketlerde bu benzersiz ad, paket kurulumlarında adlandırma çakışmalarını önler. Bu ad yalnızca alt çizgi ve alfasayısal karakterler içerebilir ve kuruluşunuzda benzersiz olmalıdır. Bir harfle başlamalı, boşluk içermemeli, alt çizgi ile bitmemeli ve arka arkaya iki alt çizgi içermemelidir. Şablon Benzersiz Adı alanıyla, yönetilen bir paketteki belirli bileşenlerin adlarını değiştirebilirsiniz ve değişiklikler bir abonenin organizasyonuna yansıtılır.
- 8. İsterseniz, Kodlama açılır listesinden farklı bir karakter seti seçin.
- 9. Şablon için bir açıklama girin. Hem şablon adı hem de açıklama yalnızca dahili kullanımınız içindir.
- 10. E-posta Konusu'na şablonunuz için bir konu satırı girin.
- 11. Alıcı Türü açılır listesinde, şablondan oluşturulan e-postayı alacak alıcı türünü seçin.
- 12. İstenirse, Türle İlgili açılır listesinde, şablonun birleştirme alanı verilerini aldığı nesneyi seçin.
- 13. Kaydet'e tıklayın.
- 14. Salesforce Classic'te E-posta Şablonlarını Görüntüle ve Düzenle sayfasında Şablonu Düzenle'ye tıklayın.
- 15. Visualforce e-posta şablonunuz için işaretleme metni girin.
NOT: Bir resim ekliyorsanız, resmin sunucumuzdaki kopyasına başvurmak için onu Belgeler sekmesine yüklemenizi öneririz. Örneğin:
<apex:image id=”Logo” value=”https://yourInstance.salesforce.com/servlet/servlet.ImageServer?
id=015D0000000Dpwc&oid=00DD0000000FHaG&lastMod=127057656800″ />
- 1. Visualforce sürümünü ve bu e-posta şablonuyla kullanılan API'yi belirtmek için Sürüm Ayarları'na tıklayın. AppExchange'ten yönetilen paketler yüklediyseniz, bu e-posta şablonuyla her bir yönetilen paketin hangi sürümünün kullanılacağını da belirtebilirsiniz. Genel olarak, e-posta şablonunu Visualforce'un en son sürümü, API ve yönetilen her paketle ilişkilendirmek için tüm sürümler için varsayılan değeri kullanın. Belirli davranışı sürdürmek için Visualforce ve API'nin daha eski bir sürümünü belirtebilirsiniz. En son paket sürümünden farklı bileşenlere veya işlevlere erişmek için yönetilen paketin daha eski bir sürümünü belirtebilirsiniz.
- 2. Şablonun ayrıntılarını görüntülemek için Kaydet'e tıklayın. Şablonunuzu düzenlemeye devam etmek için Hızlı Kaydet'i tıklayın. Şablonunuzu kaydedebilmeniz için Visualforce işaretlemeniz geçerli olmalıdır.
/********************* E-posta Şablonu 1 *************/
Örnek 1: İletişim Vakaları
alıcı
<messaging:emailTemplate Subject="Hesap ve Destek Talepleri Bilgileri {!recipient.Name}" alıcıType="Contact" > <messaging:htmlEmailBody > <html> <kafa> </head> <body> Sayın {!alıcı.Name},<br/> Lütfen tüm açık vakalarınızı bulun:<br/> <tablo> <tr> <th>Vaka Numarası</th> <th>Vaka Kaynağı</th> <th>Vaka Durumu</th> </tr> <apex:repeat value="{!recipient.cases}" var="case"> <tr> <td>{!case.CaseNumber}</td> <td>{!case.Origin}</td> <td>{!case.Status}</td> </tr> </apex:tekrar> </tablo> </body> </html> </messaging:htmlEmailBody> <messaging:plainTextEmailBody > Tebrikler! Bu, yeni Visualforce E-posta Şablonunuz. </messaging:plainTextEmailBody> </messaging:emailTemplate>
/******************** E-posta Şablonu 2 ***************/
Örnek 2: Hesap Vakaları
Alıcı ve İlgili
<messaging:emailTemplate Subject="Şununla İlgili Hesap Vakaları: {! RelationsTo.Name}" alıcıType="Contact" RelatedToType="Account"> <messaging:htmlEmailBody > <html> <kafa> </head> <body> Sayın {! RelatedTo.Name},<br/> Lütfen tüm açık vakalarınızı bulun:<br/> <tablo> <tr> <th>Vaka Numarası</th> <th>Vaka Kaynağı</th> <th>Vaka Durumu</th> </tr> <apex:repeat value="{! RelatedTo.cases}" var="case"> <tr> <td>{!case.CaseNumber}</td> <td>{!case.Origin}</td> <td>{!case.Status}</td> </tr> </apex:tekrar> </tablo> </body> </html> </messaging:htmlEmailBody> <messaging:plainTextEmailBody > Tebrikler! Bu, yeni Visualforce E-posta Şablonunuz. </messaging:plainTextEmailBody> </messaging:emailTemplate>
Örnek 3: Bileşeni Kullanan Öğrenci Ücretleri Ayrıntıları
<messaging:emailTemplate Subject="Öğrenci Ücretlerinin Gönderilmesi" alıcıType="Contact" RelatedToType="Student__c"> <messaging:htmlEmailBody > <c:StudentFeesDetails stu></c:StudentFeesDetails> </messaging:htmlEmailBody> <messaging:plainTextEmailBody > Tebrikler! Bu, yeni Visualforce E-posta Şablonunuz. </messaging:plainTextEmailBody> </messaging:emailTemplate>
/*************** E-posta Şablonlarını Bitir *************/
/******************* Bileşen ******************/
<apex:component controller="StudentFeesController" access="global"> <Stil> tablo{border:1px katı #000;} td,th {kenarlık: 1 piksel katı #000} </style> <apex:attribute name="stuId" assignTo="{!studentId}" type="Id" description="Öğrenci Kimliği" /> <h1>Ücretleriniz Ayrıntılar</h1> <tablo > <tr> <th>Tarih</th> <th>Miktar</th> </tr> <apex:repeat value="{!feesDetails}" var="ücret" > <tr> <td><apex:outputField value="{!fee.date__c}" /></td> <td>{!fee.amount__c}</td> </tr> </apex:tekrar> </tablo> </apex:bileşen>
/************** Sınıf ******************/
genel sınıf StudentFeesController{ public Id StudentId {get;set;} public List<Fees__c> getFeesDetails(){ geri dön [kimlik, miktar__c, tarih__c'den ücretler__c'den öğrenci_Id__c =: öğrenci Kimliği]; } }
/******************* Sayfa **********************/
<apex:page controller="SendVFEmailTemplateController"> <apeks:form> <apex:pageBlock> <apex:pageBlockButtons> <apex:commandButton value="İletişim Vakalarını Gönder" action="{!sendCases}"/> <apex:commandButton value="Hesap Vakaları Gönder" action="{!sendAccountCases}"/> <apex:commandButton value="Ücret Ayrıntılarını Gönder" action="{!sendFeeDetails}"/> </apex:pageBlockButtons> </apex:pageBlock> </apex:form> </apex:sayfa>
/******************* Sınıf ********************/
genel sınıf SendVFEmailTemplateController{ EmailTemplate et; genel SendVFEmailTemplateController(){ } public void sendCases(){ et = [EmailTemplate'den Kimlik, Ad seçin, burada DeveloperName = 'Account_Cases']; Messaging.SingleEmailMessage semail = new Messaging.SingleEmailMessage (); semail.setTargetObjectId('00328000005cwjF'); semail.setTemplateId(et.Id); Messaging.sendEmail(new Messaging.SingleEmailMessage[] {semail}); } public void sendAccountCases(){ et = [GeliştiriciAdı = 'Account_s_Cases' olan EmailTemplate'den Kimlik, Ad seçin]; Messaging.SingleEmailMessage semail = new Messaging.SingleEmailMessage (); semail.setTargetObjectId('00335672305cwjF'); semail.setTemplateId(et.Id); semail.setWhatId('00123400006azlA'); Messaging.sendEmail(new Messaging.SingleEmailMessage[] {semail}); } public void sendFeeDetails(){ et = [EmailTemplate'den Kimlik, Ad seçin, burada DeveloperName = 'Student_Fees_Info']; Messaging.SingleEmailMessage semail = new Messaging.SingleEmailMessage (); semail.setTargetObjectId('00335672305cwjF'); semail.setTemplateId(et.Id); semail.setWhatId('a002320080DGNjx'); Messaging.sendEmail(new Messaging.SingleEmailMessage[] {semail}); } }
Bu blogun Salesforce'ta Visualforce e-posta şablonlarını nasıl kullanacağınızı öğrenmenize yardımcı olduğunu umuyoruz. Salesforce geliştirme hizmetlerine ihtiyacınız varsa, o zaman salesforce danışmanlık ekibimizle iletişime geçin.