zoukankan      html  css  js  c++  java
  • Salesforce: setTreatTargetObjectAsRecipient的使用

    在发送邮件时,如果需要使用salesforce org中的模版,则可使用setTemplateId(templateId)方法进行设置。

    如果该模版中需要进行字段的合并,则需要在代码中使用setWhatId(whatId)设置需要进行合并的数据的Id。

    代码中可以使用setTargetObjectId(targetObjectId)来设置发送给谁。其参数可以添加user, lead或者contact的Id。

    但是如果使用了setWhatId(whatId),setTargetObjectId(targetObjectId)就必须设置为contact的Id,否则无法正常发送邮件。

    如果开发的需求是只发送给user或者leader的话,就可以使用setTreatTargetObjectAsRecipient(false),该方法可以让setTargetObjectId(targetObjectId)没有实际效果。

    之后使用setToAddresses(toAddresses)添加需要发送的users即可。

    setTreatTargetObjectAsRecipient(treatAsRecipient)方法默认值为true。

    另外要注意代码版本的问题,setTreatTargetObjectAsRecipient()方法仅支持35及以上的版本。

    参考代码:

    Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
    mail.setTemplateId(templateId);
    mail.setWhatId(io.Id);
    mail.setTargetObjectId(io.IO_Billing_Contact__c);
    mail.setTreatTargetObjectAsRecipient(false);
    mail.setToAddresses(new List<String>{ 'test@test.com' });
    mail.setSenderDisplayName('SF Alerts and Notifications');
    mail.setSaveAsActivity(false);
    Messaging.sendEmail(new List<Messaging.SingleEmailMessage>{ mail }, false);
  • 相关阅读:
    spring事务注解@Transactional注解失效场景
    Dubbo中服务消费者和服务提供者之间的请求和响应过程
    说说Java的Unsafe类
    java程序二叉树的深度优先和广度优先遍历
    重复注解与类型注解
    git pull 和 git fetch的区别?
    Java8新特性系列(Interface)
    二十种健康食品排行榜
    赞美的时机
    越过胆怯这道栅栏
  • 原文地址:https://www.cnblogs.com/clsriz/p/13523418.html
Copyright © 2011-2022 走看看