Apex Code发送电子邮件提醒

ləː*_*ːnə 1 salesforce apex-code

如何编写顶点代码以使用字段信息将记录所有者更改的电子邮件警报发送给旧记录所有者?帮帮忙

rmi*_*ist 5

请参阅http://www.salesforce.com/us/developer/docs/apexcode/Content/apex_classes_email_outbound.htm以了解有关发送出站电子邮件的详细信息.

以下是更改所有者时向前一位所有者发送电子邮件的示例代码:

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 });
    }
}
Run Code Online (Sandbox Code Playgroud)

当然,它目前仅适用于一条记录,需要批量进行批量更新.