Messaging.SingleEmailMessage Salesforce 中的限制

Messaging.SingleEmailMessage Limits in Salesforce

我实际上是在尝试通过 apex 发送电子邮件。所以我得到了这个 link https://help.salesforce.com/s/articleView?id=000334302&type=1.

所以我在限制为 15 的开发组织中尝试了它。所以我在 Messaging.SingleEmailMessage 中使用 targetobjectObjectId 作为联系人 ID。但是在发送电子邮件之后。我可以看到计数正在减少。有人可以帮我吗?

在上面的 link 中是这样写的:
每个组织每天最多可以向 5,000 个外部电子邮件地址发送一封电子邮件。 “外部电子邮件”是指与联系人、潜在客户或用户无关的任何电子邮件。 直接从客户、联系人、潜在客户、业务机会、个案、市场活动或自定义对象页面向贵组织中的联系人、潜在客户、个人客户和用户发送单封电子邮件没有限制。

但为什么我的组织限制减少了? 请注意我正在我的 Dev Org 中尝试的这段代码。

下面是我的一段代码

Messaging.SingleEmailMessage email = new Messaging.SingleEmailMessage();
email.setTargetObjectId(targetObjectId);//Contact Id
email.setWhatId(whatId);  Account Id
email.setTemplateId(templateId);//Email template Id
email.setCcAddresses(ccRecipientList);//List of Contact Ids
if(attach != null)
  email.setFileAttachments(attach); //Attachments if any

答案就在你引用的文档中:

directly from account, contact, lead, opportunity, case, campaign, or custom object pages

您没有通过这些记录页面中的标准工具发送该电子邮件。您是通过 apex 发送的,因此您应该参考 apex 文档 SingleEmailMessage(强调我的)

setCcAddresses(ccAddresses)
Optional. A list of carbon copy (CC) addresses or object IDs of the contacts, leads, and users you’re sending the email to. The maximum size for this field is 4,000 bytes. The maximum total of toAddresses, ccAddresses, and bccAddresses per email is 150. All recipients in these three fields count against the limit for email sent using Apex or the API.

此外 governor limits doc 指出:

If you use SingleEmailMessage to email your org’s internal users, specifying the user’s ID in setTargetObjectId means the email doesn’t count toward the daily limit. However, specifying internal users’ email addresses in setToAddresses means the email does count toward the limit.


增加电子邮件限制

Mass Email limit 可以通过 Salesforce 支持临时 增加。你可以要求永久增加,但他们很少被批准。

同样的考虑也适用于 Single Email Message limit
它们都是 高风险 特征。

case 中,您必须提供以下信息:

  • 组织 ID(设置 > 公司信息)
  • 您希望为您的组织设置的确切新限制
  • 请求增加的持续时间
  • 详细而强大的业务案例