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
jaishrijaishri 

Hi,i'm trying to write a code in trigger when a case is create and deleted send an email to the case contact

Sai PraveenSai Praveen (Salesforce Developers) 
Hi Jays,

You can write the trigger as below.
 
if(Trigger.isinsert && trigger.isAfter){
  for (Case cs : Trigger.new) {
    
    if (cs.Contactid != null )
    {
          ContactId.add(cs.Contactid);
    }
         Contact con = [Select firstname,lastname,email,id,name,MobilePhone from Contact where id in :ContactId];
      // Step 1: Create a new Email
      Messaging.SingleEmailMessage mail =  new Messaging.SingleEmailMessage();
   
      // Step 2: Set list of people who should get the email
      List<String> sendTo = new List<String>();
      sendTo.add(con.email);
      mail.setToAddresses(sendTo);
   
      // Step 3: Set who the email is sent from
      mail.setReplyTo('sample@gmail.com');
      mail.setSenderDisplayName('sample email');
   
      // (Optional) Set list of people who should be CC'ed
      List<String> ccTo = new List<String>();
      ccTo.add('sampleaddress@gmail.com');
      mail.setCcAddresses(ccTo);
 
      // Step 4. Set email contents - you can use variables!
      mail.setSubject('Contact got created');
      String body = 'Dear ' + con.FirstName + ', '; 
      body += 'A new case was created';
      
     
      mail.setHtmlBody(body);
   
      // Step 5. Add your email to the master list
      mails.add(mail);
        Messaging.sendEmail(mails);
    }
    }

If this solution helps, Please mark it as best answer.

Thanks,
 
shahidashahida
Hi jaisri,

You can try below code for insert as well as for delete 

trigger caseupdate on Case (after insert,after delete)
{
     list<case> caselist=new list<case>();
    set<id> contactIdSet=new set<id>();
    String emailBody;
  
    if (trigger.isinsert&&trigger.isafter)
    {
        caselist=trigger.new; 
        emailBody='case got created';         
    }
    if(trigger.isdelete&&trigger.isafter)
    {     
        caselist=trigger.old;   
        emailBody='case got deleted';  
    }
    
    for(case cs :caselist)
    {
       if(cs.contactId!=null)
       {
           contactIdSet.add(cs.contactId);
           system.debug(cs.contactId);
       }
    }   
    List<Messaging.SingleEmailMessage> EmailMessageList=new List<Messaging.SingleEmailMessage>();
    List<String> toEmailAddresses = new List<string>();
   
    for(contact con:[select id,email from contact where id IN:contactIdSet])
    {
        toEmailAddresses.add(con.email);
        Messaging.SingleEmailMessage singleEmail = new Messaging.SingleEmailMessage();       
        singleEmail.setToAddresses(toEmailAddresses);
        
        //optional
         //List<string> bccEmailAddresses= new list<string>{'XXXXXXXXX@gmail.com'};
        //singleEmail.setBccAddresses(bccEmailAddresses);
        
        //optional
        ///List<string> ccEmailAddresses= new List<string>();
        //singleEmail.setCcAddresses(ccEmailAddresses);
        
        //subject and body need to be changed as per the requirement
        singleEmail.setSubject('Single Email message Example');
        singleEmail.setPlainTextBody(emailBody);
        EmailMessageList.add(singleEmail);
       
    }
     Messaging.sendEmail(EmailMessageList);


}

Please mark it as best answer, if it is works for you...