Merge 从Apex调用时自定义电子邮件模板合并字段

Merge 从Apex调用时自定义电子邮件模板合并字段,merge,sendmail,apex,email-templates,Merge,Sendmail,Apex,Email Templates,我有一个在Apex代码中引用的现有自定义电子邮件模板。 在此电子邮件模板中,我添加了两个合并字段Lead.Name、Lead.Company 当我单击“发送测试和验证合并字段”时,我可以看到合并的值。 但是,当从Apex类调用电子邮件模板时,字段值不会合并 附件是代码片段 public PageReference sendDoc(){ Messaging.Singleemailmessage email = new Messaging.Singleemailmessage();

我有一个在Apex代码中引用的现有自定义电子邮件模板。 在此电子邮件模板中,我添加了两个合并字段Lead.Name、Lead.Company

当我单击“发送测试和验证合并字段”时,我可以看到合并的值。 但是,当从Apex类调用电子邮件模板时,字段值不会合并

附件是代码片段

 public PageReference sendDoc(){
    Messaging.Singleemailmessage email = new Messaging.Singleemailmessage();
    email.setToAddresses(new List<String>{ReceiverEmail});
    EmailTemplate template = [Select id,HTMLValue,Subject from EmailTemplate where DeveloperName =: Label.Form_Submission_EmailTemplate];
    String str = template.HTMLvalue;
    str = str.replace('{leadurl}',Label.Sample_Site_URL+leadId+'&sendDoc=true" type="button"><b>Submit </b></a>');
            
    email.setHTMLBody(str);
    email.setSubject(template.Subject);
    Messaging.sendEmail(new Messaging.SingleEmailMessage[] {email}); 
    return new PageReference('/' + leadId );

}
publicpagereference sendDoc(){
Messaging.Singleemailmessage email=新消息。Singleemailmessage();
电子邮件。设置地址(新列表{ReceiverEmail});
EmailTemplate=[从EmailTemplate中选择id、HTMLValue、主题,其中DeveloperName=:Label.Form_Submission_EmailTemplate];
字符串str=template.HTMLvalue;
str=str.replace(“{leadurl}”,Label.Sample_Site_URL+leadId+”&sendDoc=true“type=”button“>Submit”);
电子邮件地址:setHTMLBody(str);
email.setSubject(template.Subject);
Messaging.sendmail(newmessaging.SingleEmailMessage[]{email});
返回新的PageReference(“/”+leadId);
}
收到的电子邮件如下所示

电子邮件模板