Apex Code to send Email Alert
apex-code, salesforce
Solution
Please refer http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_classes_email_outbound.htm to learn more about sending outbound emails.
Here's a sample code that sends email to previous owner when the owner is changed:
trigger SendEmailOnOwnerChange on Account (after update) {
if (trigger.old[0].OwnerId != trigger.new[0].OwnerId) {
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
String emailAddr = [select Email from User where Id = :trigger.old[0].OwnerId].Email;
String newOwnerName = [select Name from User where Id = :trigger.new[0].OwnerId].Name;
String[] toAddresses = new String[] {emailAddr};
mail.setToAddresses(toAddresses);
mail.setSubject('Owner Changed for Account : ' + trigger.new[0].Name);
mail.setPlainTextBody('Owner of Account: ' + trigger.new[0].Name + ' Changed to ' + newOwnerName);
mail.setHtmlBody('Owner of Account: <b>' + trigger.new[0].Name + '</b> Changed to <b>' + newOwnerName + '</b>');
Messaging.sendEmail(new Messaging.SingleEmailMessage[] { mail });
}
}
Of course it currently works for only one record and needs to be bulkified for bulk update.
Problem
How to write apex code to send email alert for record owner change to the old record owner with the fields information ? Help Pls