我可以在电子邮件模板中使用自定义对象中的字段吗?

时间:2013-06-11 20:28:34

标签: salesforce apex-code visualforce

我正在撰写包含合并字段的电子邮件模板

当我添加帐户字段时,它可以正常工作,

但是当我尝试从自定义对象添加字段时,它不起作用,

正如我上面提到的,我通过将“Related To”设置为自定义对象记录来手动完成 但是当我使用以下代码时,模板中包含的字段为空白

Inquery__c inquery = trigger.new[0];
 String[] toAddresses = new String[] {inquery.email__c};
 Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
  mail.setTargetObjectId(inquery.OwnerID);
 mail.setSenderDisplayName('Salesforce Support');
  mail.setUseSignature(false);
  mail.setBccSender(false);
  mail.setSaveAsActivity(false);
 EmailTemplate et=[Select id from EmailTemplate where DeveloperName=:'Invitation_to_register_for_Training'];
 mail.setTemplateId(et.id);
 Messaging.SendEmailResult [] r = Messaging.sendEmail(new Messaging.SingleEmailMessage[] {mail});

我尝试按如下方式添加setWhatID,

mail.setWhatId(inquery.OwnerID);

但它给了我一个错误声明:WhatId无法向UserIds发送电子邮件

由于

1 个答案:

答案 0 :(得分:1)

在方法setWhatId()中,您必须插入inquery ID而不是OwnerID字段:

mail.setWhatId(inquery.ID);

尝试修复它。