Salesforce Apex 中的 Email Service(电子邮件服务)
文章目录
场景
项目中有一段Apex代码的处理权限必须是系统管理员(连放在without sharing
的类中也不行),因此只能转而使用Email Service的功能来实现上述的代码。
本文将介绍如何使用Email Service传参、执行Apex代码、改变Context。(本文中Email Service等同于中文的电子邮件服务)
Email Service介绍
Email Service是Salesforce提供的邮件服务,在创建邮件服务之后,可以让Salesforce为你处理一些事先写好的Apex代码,且你可以指定执行这些代码执行的环境(例如以系统管理员的身份执行)
使用方法
首先创建一个Apex类,这个类在后续新建Email Service的时候会用到。
创建调用类
// 调用类,参数自定
global static Boolean handleApprover(
Id recordId, String comment
) {
Messaging.SingleEmailMessage oMessage = new Messaging.SingleEmailMessage();
// 查找Email Service记录 (*)
EmailServicesAddress oEmailServiceAddress = [
SELECT e.SystemModstamp, e.RunAsUserId, e.LocalPart, e.LastModifiedDate, e.LastModifiedById, e.IsActive, e.Id, e.FunctionId, e.EmailDomainName