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
Darshan DnaDarshan Dna 

Whenever opportunity name change an email alter should be received to owner how to write trigger for thisWhenever opportunity name change an email alter should be received to owner how to write trigger for this

CharuDuttCharuDutt
Hii Darshan
Try Below Code
trigger MailToOppOwners on Opportunity (after update) {
     Messaging.SingleEmailMessage[] emailList = new List<Messaging.SingleEmailMessage>();
    if(trigger.IsAfter && trigger.IsUpdate){
        for(Opportunity opp : trigger.new){
            if(opp.Name != Trigger.oldMap.get(opp.Id).Name){
                  Messaging.SingleEmailMessage email = new Messaging.SingleEmailMessage();
            email.setSubject('Opportunity Name Change');
            email.setPlainTextBody('Body');
            email.setToAddresses(new List<String>{opp.Owner.Email});
            emailList.add(email);
            }
        }
    }
     if(!emailList.isEmpty()) {
             Messaging.sendEmail(emailList);
        }

}
Please Mark It As Best Asnwer If It Helps
Thank You!
AnkaiahAnkaiah (Salesforce Developers) 
Hi Darshan,

try with below code.
Trigger changename on opportunity(before update){

set<id> ownerids = new set<id>();

for(opportunity opp:trigger.new){
if(opp.name != trigger.oldmap.get(opp.id).Name)){
ownerids.add(opp.ownerid);
}
}
Map<id,string> userwithemails = new map<id, string>();

for(user u:[select id,email from user where id=:ownerids]){
userwithemails.put(u.id,u.email);
}
    //get all email in the list
    List<Messaging.SingleEmailMessage> mails = new List<Messaging.SingleEmailMessage>();
for(opportunity opp:trigger.new){
if(opp.name != trigger.oldmap.get(opp.id).Name)){
      List<String> sendTo = new List<String>();
      sendTo.add(userwithemails.get(opp.ownerid));

Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
mail.setToAddresses(sendTo);
mail.setSubject('Your opp name changed');
String body = 'yoour opportunity name has been changed from ' + trigger.oldmap.get(opp.id).Name + 'to'+ opp.Name ; 
mail.setHtmlBody(body);

 mails.add(mail);


}
 Messaging.sendEmail(mails);
}

If this helps please mark it as best answer.

Thanks!!