将 SaveAsActivity 属性 与 SingleEmailMessage 一起使用

Using the SaveAsActivity property with SingleEmailMessage

我需要为我们的 Salesforce 应用程序启用电子邮件跟踪。该应用程序使用 Html 电子邮件模板和 SingleEmailMessage class 发送邮件,将后者的 TargetObjectId 属性 设置为 UserId 收件人。 HTML 已为帐户启用电子邮件跟踪。根据文档,使用此配置时应该可以使用SaveAsActivity 属性:

saveAsActivity boolean Optional. The default value is true, meaning the email is saved as an activity. This argument only applies if the recipient list is based on targetObjectId or targetObjectIds. If HTML email tracking is enabled for the organization, you will be able to track open rates.

但是,当应用程序尝试发送 属性 设置为 true 的电子邮件时,发送失败并显示状态代码 121 和错误:

saveAsActivity must be false when sending mail to users.

此错误消息似乎与文档直接矛盾。我在各种论坛上看到其他关于 SaveAsActivity 属性 的评论(没有进一步解释),在向用户发送电子邮件时必须将 属性 设置为 false。

有人可以澄清在向 TargetObjectId 属性 中指定的用户发送电子邮件时我是否应该能够将 SaveAsActivity 设置为 true 吗?

解决这个问题的方法是用 ContactId 填充 TargetObjectId,而不是 UserId。然后可以将 SaveAsActivity 属性 设置为 true 而不会导致错误。