Șabloane de e-mail Visualforce în Salesforce

Publicat: 2021-05-13

Cu șabloanele de e-mail Visualforce, utilizatorii pot trimite e-mailuri țintite și personalizate. Creatorii de șabloane pot folosi puternicul limbaj de programare Visualforce pentru a crea conținut de e-mail tip șablon.

Dezvoltatorii și administratorii pot folosi Visualforce pentru a crea șabloane de e-mail. Avantajul utilizării Visualforce față de șabloanele standard de e-mail HTML este că Visualforce vă oferă posibilitatea de a efectua operațiuni avansate asupra datelor care sunt trimise unui destinatar.

Toate șabloanele de e-mail Visualforce trebuie să fie conținute într-o singură etichetă <messaging:emailTemplate>. Acest lucru este analog cu paginile obișnuite Visualforce care sunt definite într-o singură etichetă <apex:page>.

  • Eticheta <messaging:emailTemplate> trebuie să conțină fie o singură etichetă <messaging:htmlEmailBody>, fie o singură etichetă <messaging:plainTextEmailBody>.
  • Mai multe componente standard Visualforce nu sunt disponibile pentru utilizare în <messaging:emailTemplate>. Acestea includ <apex:detail>,<apex:pageBlock> și toate componentele pageBlock conexe și toate componentele de intrare, cum ar fi <apex:form>. Dacă încercați să salvați un șablon de e-mail Visualforce cu aceste componente, se afișează un mesaj de eroare.

FĂ una din urmĂtoarele:

  • Dacă aveți permisiunea de a edita șabloane publice, din Configurare, introduceți Șabloane de e-mail în caseta Găsire rapidă, apoi selectați Șabloane clasice de e-mail.
  • Dacă nu aveți permisiunea de a edita șabloane publice, accesați setările personale. Introduceți Șabloane în caseta Căutare rapidă, apoi selectați Șabloane de e-mail sau Șabloanele mele, oricare dintre ele apare.
  • 1. Faceți clic pe Șablon nou.
  • 2. Alegeți Visualforce și faceți clic pe Următorul.
  • 3. Nu puteți trimite un e-mail în masă utilizând un șablon de e-mail Visualforce.
  • 4. Alegeți un folder în care să stocați șablonul.
  • 5. Pentru a face șablonul disponibil pentru utilizare, bifați caseta de selectare Disponibil pentru utilizare.
  • 6. Introduceți un nume în Nume șablon de e-mail.
  • 7. Dacă este necesar, modificați Numele unic al șablonului. Acest nume unic se referă la componentă atunci când utilizați API-ul Lightning Platform. În pachetele gestionate, acest nume unic previne conflictele de denumire în instalarea pachetelor. Acest nume poate conține doar caractere de subliniere și caractere alfanumerice și trebuie să fie unic în organizația dvs. Trebuie să înceapă cu o literă, să nu includă spații, să nu se termine cu o liniuță și să nu conțină două liniuțe consecutive. Cu câmpul Nume unic al șablonului, puteți modifica numele anumitor componente într-un pachet gestionat, iar modificările sunt reflectate în organizația unui abonat.
  • 8. Dacă doriți, alegeți un set de caractere diferit din lista derulantă Codificare.
  • 9. Introduceți o descriere pentru șablon. Atât numele șablonului, cât și descrierea sunt numai pentru uz intern.
  • 10. Introduceți o linie de subiect pentru șablonul dvs. în Subiectul e-mailului.
  • 11. În lista verticală Tip destinatar, selectați tipul de destinatar pentru a primi e-mailul creat din șablon.
  • 12. Dacă doriți, în lista verticală Related To Type, selectați obiectul din care șablonul preia datele câmpului de îmbinare.
  • 13. Faceți clic pe Salvare.
  • 14. În pagina Vizualizați și editați șabloane de e-mail în Salesforce Classic, faceți clic pe Editați șablon.
  • 15. Introduceți textul de marcare pentru șablonul de e-mail Visualforce.

NOTĂ: Dacă includeți o imagine, vă recomandăm să o încărcați în fila Documente pentru a face referire la copia imaginii de pe serverul nostru. De exemplu:

<apex:image id=”Logo” value="https://yourInstance.salesforce.com/servlet/servlet.ImageServer?
id=015D0000000Dpwc&oid=00DD0000000FHaG&lastMod=127057656800″ />

  • 1. Pentru a specifica versiunea Visualforce și API-ul utilizat cu acest șablon de e-mail, faceți clic pe Setări versiune. Dacă ați instalat pachete gestionate din AppExchange, puteți specifica și ce versiune a fiecărui pachet gestionat să utilizați cu acest șablon de e-mail. În general, utilizați valoarea implicită pentru toate versiunile, pentru a asocia șablonul de e-mail cu cea mai recentă versiune de Visualforce, API-ul și fiecare pachet gestionat. Pentru a menține un anumit comportament, puteți specifica o versiune mai veche a Visualforce și a API-ului. Pentru a accesa componente sau funcționalități care diferă de cea mai recentă versiune de pachet, puteți specifica o versiune mai veche a unui pachet gestionat.
  • 2. Pentru a vizualiza detaliile șablonului, faceți clic pe Salvare. Pentru a continua editarea șablonului, faceți clic pe Salvare rapidă. Marcajul dvs. Visualforce trebuie să fie valid înainte de a vă putea salva șablonul.
angajați dezvoltatori forțe de vânzări

/************************ Șablon de e-mail 1 *************/
Exemplul 1: cazuri de contact
Destinatar

 <messaging:emailTemplate subject="Informații despre cont și cazuri {!recipient.Name}" recipientType="Contact" >
<messaging:htmlEmailBody >
    <html>
    <cap>
    </cap>
    <corp>
        Stimate {!destinatar.Nume},<br/>
        Vă rugăm să găsiți toate cazurile deschise:<br/>
        <tabel>
        <tr>
            <th>Numărul cazului</th>
            <th>Originea cazului</th>
            <th>Starea cazului</th>
        </tr>
        <apex:repeat value="{!recipient.cases}" var="case">
        <tr>
            <td>{!case.CaseNumber}</td>
            <td>{!case.Origin}</td>
            <td>{!case.Status}</td>
        </tr> 
        </apex:repeat>
        </tabel>
    </corp>
</html>
</messaging:htmlEmailBody>
<messaging:plainTextEmailBody >
Felicitări!
Acesta este noul dvs. șablon de e-mail Visualforce.
</messaging:plainTextEmailBody>
</messaging:emailTemplate>

/******************** Șablon de e-mail 2 ***************/
Exemplul 2: cazuri de cont
Destinatar și RelatedTo

 <messaging:emailTemplate subject="Cazurile de cont legate de: {!relatedTo.Name}" recipientType="Contact" relatedToType="Cont">
<messaging:htmlEmailBody >
    <html>
    <cap>
    </cap>
    <corp>
        Stimate {!relatedTo.Name},<br/>
        Vă rugăm să găsiți toate cazurile deschise:<br/>
        <tabel>
        <tr>
            <th>Numărul cazului</th>
            <th>Originea cazului</th>
            <th>Starea cazului</th>
        </tr>
        <apex:repeat value="{!relatedTo.cases}" var="case">
        <tr>
            <td>{!case.CaseNumber}</td>
            <td>{!case.Origin}</td>
            <td>{!case.Status}</td>
        </tr> 
        </apex:repeat>
        </tabel>
    </corp>
</html>
</messaging:htmlEmailBody>
<messaging:plainTextEmailBody >
Felicitări!
Acesta este noul dvs. șablon de e-mail Visualforce.
</messaging:plainTextEmailBody>
</messaging:emailTemplate>

Exemplul 3: Detalii despre taxele studenților folosind Componenta

 <messaging:emailTemplate subject="Submission Of Student Fees" recipientType="Contact" relatedToType="Student__c">
<messaging:htmlEmailBody >
    <c:StudentFeesDetails stu></c:StudentFeesDetails>
</messaging:htmlEmailBody>
<messaging:plainTextEmailBody >
Felicitări!
Acesta este noul dvs. șablon de e-mail Visualforce.
</messaging:plainTextEmailBody>
</messaging:emailTemplate>

/**************** Încheiere șabloane de e-mail ************/

/******************** Componenta ********************/

 <apex:component controller="StudentFeesController" access="global">
    <Stil>
    tabel{border:1px solid #000;}
        td,th {bord: 1px solid #000}
    </stil>
    <apex:attribute name="stuId" assignTo="{!studentId}" type="Id" description="Student Id" />
    <h1>Ofertele taxelor dvs.</h1>
    <tabel >
    <tr>
        <th>Data</th>
        <th>Suma</th>
    </tr>
    <apex:repeat value="{!feesDetails}" var="taxă" >
        <tr>
            <td><apex:outputField value="{!fee.date__c}" /></td>
            <td>{!fee.amount__c}</td>
        </tr>
    </apex:repeat>
    </tabel>
</apex:component>

/**************** Clasa ********************/

 Class public StudentFeesController{
    ID public studentId {get;set;}
    Public List<Fees__c> getFeesDetails(){
        return [selectați id, suma__c, data__c din taxe__c unde student_Id__c =: studentId];
    }
}

/******************** Pagina ************************/

 <apex:page controller="SendVFEmailTemplateController">
    <apex:form>
        <apex:pageBlock>
            <apex:pageBlockButtons>
                <apex:commandButton value="Trimite cazuri de contact" action="{!sendCases}"/>
                <apex:commandButton value="Trimite cazuri de cont" action="{!sendAccountCases}"/>
                <apex:commandButton value="Trimite detaliile taxelor" action="{!sendFeeDetails}"/>
                
            </apex:pageBlockButtons>
        </apex:pageBlock>
    </apex:form>
</apex:page>

/******************** Clasa ********************/

 clasă publică SendVFEmailTemplateController{
    EmailTemplate et;
    public SendVFEmailTemplateController(){
    
    }
    
    public void sendCases(){
        et = [selectați Id, Nume din EmailTemplate, unde DeveloperName = 'Account_Cases'];
        Messaging.SingleEmailMessage semail = nou Messaging.SingleEmailMessage ();
        semail.setTargetObjectId('00328000005cwjF');
        semail.setTemplateId(et.Id);
        Messaging.sendEmail(new Messaging.SingleEmailMessage[] {semail});
    }
    
    public void sendAccountCases(){
        et = [selectați Id, Nume din EmailTemplate unde DeveloperName = 'Account_s_Cases'];
        Messaging.SingleEmailMessage semail = nou Messaging.SingleEmailMessage ();
        semail.setTargetObjectId('00335672305cwjF');
        semail.setTemplateId(et.Id);
        semail.setWhatId('00123400006azlA');
        Messaging.sendEmail(new Messaging.SingleEmailMessage[] {semail});
    }
    
    public void sendFeeDetails(){
        et = [selectați Id, Nume din EmailTemplate unde DeveloperName = 'Student_Fees_Info'];
        Messaging.SingleEmailMessage semail = nou Messaging.SingleEmailMessage ();
        semail.setTargetObjectId('00335672305cwjF');
        semail.setTemplateId(et.Id);
        semail.setWhatId('a002320080DGNjx');
        Messaging.sendEmail(new Messaging.SingleEmailMessage[] {semail});        
    }
}

Sperăm că acest blog v-a ajutat să învățați cum să utilizați șabloanele de e-mail Visualforce în Salesforce. Dacă aveți nevoie de servicii de dezvoltare a forței de vânzări, luați legătura cu echipa noastră de consultanță a forței de vânzări.