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
SumitSumit 

Write a trigger on Account when an account is update when account type changes send an email to all its contacts that your account information has been changed. Subject: Account Update Info Body: Your account information has been updated successfully.

Sai PraveenSai Praveen (Salesforce Developers) 
Hi Sumit,

Can you try the below trigger .
 
trigger SendNotificationOnAccount on Account (After Update) {
    
if(Trigger.isAfter && Trigger.isUpdate){
        List<Messaging.SingleEmailMessage> mails = new List<Messaging.SingleEmailMessage>();
        Set<Id> setAccountIds = new Set<Id>();
        List<String> sendTo = new List<String>();
        List<Contact> con = new List<Contact>();
        for(Account acc : trigger.New){
            if(acc.Type != trigger.oldmap.get(acc.Id).Type){
                setAccountIds.add(acc.Id);
                System.debug('setAccountIds::' + setAccountIds);
            }
        }

        if(!setAccountIds.isEmpty()) {
            for(Contact c : [SELECT lastname,Email FROM Contact WHERE AccountId IN:setAccountIds]){
                if(string.IsNotBlank(c.Email)){
                    sendTo.add(c.Email);
                }
            }
        }

        if(!sendTo.isEmpty()){
            Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
            mail.setSenderDisplayName('Email Alert');

            mail.setSubject('Your account information has been updated successfully');
            String body = 'Your account information has been updated successfully.';
            mail.setToAddresses(sendTo);
            mail.setHtmlBody(body);
            mails.add(mail);
            try{
                Messaging.SendEmail(mails);
            }
            catch(Exception e){
                System.debug('-----Exception------' +e);        
            }
        }
    }
}

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

Thanks,
​​​​​​​
CharuDuttCharuDutt
Hii Sumit Kumar Arya
Try Below Code
trigger AccountEmailtrig on Account (after update) {
    map<Id,string> AccountId = new map<Id,string>();
    List<Messaging.SingleEmailMessage> mails = new List<Messaging.SingleEmailMessage>();
    for(Account Acc : trigger.new){
        if(Acc.Account_type__c != trigger.oldMap.get(Acc.Id).Account_Type__c){
            AccountId.put(Acc.Id,Acc.Account_type__c);
        } 
    }
    list<Contact> lstContact = [Select Id,AccountId,Email From Contact where AccountId IN :AccountId.keySet() ];
    for(Contact Con : lstContact){
        if(AccountId.containsKey(Con.AccountId)){
            Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
            mail.setSenderDisplayName('Email Alert');
            
            mail.setSubject('Account Type change '+AccountId.get(Con.Account_type__c) + 'AccountId '+AccountId.get(Con.AccountId) );
            String body = 'Account Type change '+AccountId.get(Con.Account_type__c) + 'AccountId '+AccountId.get(Con.AccountId) ;
            mail.setToAddresses(new list<string>{con.Email});
            mail.setHtmlBody(body);
            mails.add(mail);
        }
    }
    try{
        Messaging.SendEmail(mails);
    }
    catch(Exception e){
        System.debug('-----Exception------' +e);        
    }
}
Please Mark It As Best Answer If It Helps
Thank You!