function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
RahulRahul 

Hello friends, I have created a send offer letter page with controller which sends offer letter as an attachment.Its working but, Its not clearing the form after clicking on send Email. The form Values are still intact.It should show a fresh form.

Please find the code :-
<apex:page standardcontroller="Contact" sidebar="false" extensions="sendofferlettercontroller" >
  <apex:form >

  <apex:pageBlock title="Send Offer Letter">
      <p style="text-align: center; font-size: 18px; background-color: #d0e4fe;">Send An Email Attaching Impact Guru Offer Letter</p>
<apex:pageBlockSection >
                        <apex:inputText id="email" label="TO : "  Style="width:300px;" value="{!toEmail}"/><br/>
                        <apex:inputText id="ccEmail" label="CC : "  Style="width:300px;" value="{!ccEmail}"/><br/>

                                             <apex:inputTextarea id="Subject" label="Subject : "  Style="width:300px;" value="{!subject}" cols="80"/><br/>

                       <apex:inputTextarea id="Body" label="Body : "  Style="width:300px;" value="{!body}" rows="10" cols="80"/><br/>

                        
            
                        
            <apex:commandButton value="Send Email" action="{!sendEmail}"  />
            <apex:commandButton value="Cancel" action="{!cancel}"/> 

        </apex:pageBlockSection>
                              <apex:iframe src=".apex/offerletterpage?id={!parentid}"/>


    </apex:pageBlock>
            </apex:form>

</apex:page>

----------------------------

public class sendofferlettercontroller {

   public sendofferlettercontroller() { }

    public String toEmail {get;set;}
        public String ccEmail {get;set;}
    Public ID ParentID{get;set;}

    public String subject {get;set;}
    public String body {get;set;}
        
    private final contact MyLead;
       public static contact co1{get;set;}

    
    public sendofferlettercontroller(ApexPages.StandardController controller)
    {
        this.MyLead=(Contact)controller.getRecord();
             ParentID = apexpages.currentpage().getparameters().get('id');

    } 
   
             
    public PageReference sendEmail() {
        
           co1 = [select id ,name, Email  from contact where id =: ApexPages.currentPage().getParameters().get('id')];

        //create a mail object to send email 
        Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
        
        String[] toaddress = toEmail.Split(','); //using comma separator between emails
        //String[] toaddress = toEmail.Split('[,;]'); //use can use Regex to mix with comma & semi colon separator

        //email properties
        String[] ccaddress = ccEmail.Split(',');
        mail.setToAddresses(toaddress);
        mail.setSubject(subject);
                           mail.setccAddresses(ccaddress);  

        mail.setUseSignature(true);
        mail.setPlainTextBody(body); 
                
        // send the email'
                             PageReference pdf =  Page.offerletterpage;
                                                  pdf.getParameters().put('id',(String)co1.id);
                     pdf.setRedirect(true);
                                          blob b;

                     try{
                     b = pdf.getContent();
                     }catch (VisualforceException e){
                     b = Blob.valueOf('Some Text');
                     }
Messaging.EmailFileAttachment efa = new Messaging.EmailFileAttachment();
                     efa.setFileName('ImpactGuru Offer Letter PDf'+'.pdf');
                     efa.setBody(b);
                     mail.setFileAttachments(new Messaging.EmailFileAttachment[] {efa});
                       try
                    {
                 //   Messaging.SendEmailResult[] resultMail = Messaging.sendEmail(new Messaging.SingleEmailMessage[] { mail });
                    }
                    catch(System.EmailException ex)
                    {
                    }
                    Datetime myDatetime = Datetime.now();
                    String myDatetimeStr;  
                    Attachment a = new Attachment();
                    a.parentid = co1.id;
                    a.body = b;
                    a.name = (co1.Name+' - '+myDatetime.format('d - MMMM, yyyy'));
                    insert a;

        Messaging.sendEmail(new Messaging.SingleEmailMessage[] { mail });
        Return Page.sendofferletter;

     }   
   

}