public class ClsSendEmailByTemplate{ public string EmailTempateId{get;set;} public EmailTemplate ET{get;set;} public string emailVal{get;set;} public string cc{get;set;} public string emailSubject{get;set;} public string body{get;set;} public User usr{get;set;} public ClsSendEmailByTemplate(){ usr = new User(); } public void getTemplate(){ try{ if(EmailTempateId == null || EmailTempateId == ''){ ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR,'Please Select Email Template')); } else{ ET = [Select Id,Subject,Body from EmailTemplate where Id =: EmailTempateId]; } } catch(Exception ex){ ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR,ex.getMessage())); } } public void sendMail( ){ try{ Messaging.SingleEmailMessage email = new Messaging.SingleEmailMessage(); email.setTemplateId(ET.Id); email.setTargetObjectId(usr.ContactId); Messaging.SendEmailResult[] sendResult; Messaging.SendEmailResult [] r =Messaging.sendEmail(new Messaging.SingleEmailMessage[] {email}); ApexPages.Message myMsg = new ApexPages.Message(ApexPages.Severity.INFO,'Email Has Been Sent'); ApexPages.addMessage(myMsg); } catch(Exception ex){ ApexPages.addMessage(new ApexPages.Message(ApexPages.Severity.ERROR,ex.getMessage())); } } }