Skip to main content
uma meduri fragte in #Apex
Hi All,

Any one please advise me how to write a trigger that will send an email to alert when that record is created or updated or deleted.. Thanks!
13 Antworten
  1. 12. Jan. 2015, 06:25

    Hi Uma,

    What is your parent object name that contains email field?

    If Parent object is "User" then update your code like below.

     

    trigger EventTeamMemberTrigger on Event_Team_Member__c (after insert,after update,before delete) {

    if(trigger.isAfter && (trigger.isInsert || trigger.isUpdate) ){

    //Start of new code

    set<id> pids = new set<id>()

    for(Event_Team_Member__c eTM : Trigger.new){

    pids.add(eTM.Team_Member__c);

    }

    map<id,User> pmap = new map<id,User>([select id,email from User Where id in: pids ]);

    //End of new code

    for (Event_Team_Member__c eTM : Trigger.new)

    {

    if(eTM.Team_Member__c != null){

    User tmm = pmap.get(eTM.Team_Member__c);

    String userEmail = tmm.email; // This is the Path Where I can get the Email Id of the Team_Member__c(user)

    Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();

    String[] toAddresses = new String[] {userEmail};

    mail.setToAddresses(toAddresses);

    mail.setSubject('Automated email: Contact created/updated');

    String body = 'Contact created/updated' ;

    mail.setPlainTextBody(body);

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

    }

    }

    }

    if(trigger.isBefore && trigger.isDelete ){

    //Start of new code

    set<id> pids = new set<id>()

    for(Event_Team_Member__c eTM : Trigger.old){

    pids.add(eTM.Team_Member__c);

    }

    map<id,User> pmap = new map<id,User>([select id,email from User Where id in: pids ]);

    //End of new code

    for (Event_Team_Member__c eTM : Trigger.old)

    {

    if(eTM.Team_Member__c != null){

    User tmm = pmap.get(eTM.Team_Member__c);

    String userEmail = tmm.Email;

    Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();

    String[] toAddresses = new String[] {userEmail};

    mail.setToAddresses(toAddresses);

    mail.setSubject('Automated email: Contact deleted');

    String body = 'Contact deleted';

    mail.setPlainTextBody(body);

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

    }

    }

    Best Regards,

    Mithun.
0/9000