0

当有新的潜在客户进来时,我想使用一个前触发器和一个包含潜在客户字段值的 Visualforce 电子邮件模板来使用 SingleEmailMessage 类发送电子邮件。正在生成电子邮件,但所有潜在客户字段均为空,即使(通过 已知System.Debug)它们确实具有进入调用的值。

由于我通过该mail.setWhatId(lead.Id)方法传递仍未保存的潜在客户 ID,我开始认为邮件类正在使用 Id 值并尝试进行数据库查找,而不是作为对仍未保存的潜在客户的引用记忆。

有谁知道是不是这样?当线索已经存在时,我的班级可以完美地工作。

如果是 Apex 邮件类读取数据库的情况,对于需要在保存潜在客户之前发送和发送电子邮件并更新潜在客户字段值的情况有任何模式建议吗?我不能使用工作流电子邮件通知,因为电子邮件是发送给客户的,并且还有一些额外的 Apex 代码可以根据一些潜在客户字段从现有客户记录中整理出要获取的地址 - 因此我认为需要使用 VF首先是电子邮件模板。

4

1 回答 1

2

setWhatId(以及几乎任何将 ID 值作为参数的方法)确实希望该行已经被持久化。为了解决这个问题,您应该能够在前触发器中进行字段更新,并添加一个后触发器来发送电子邮件。

于 2011-07-18T01:08:29.127 回答