我为生日制作了 Apex Scheduler 课程。距离生日还有 2 天,班级工作并成功地向我们的主管发送了一封电子邮件。
但是,距离生日还有两天时发送的电子邮件模板需要包含联系人的名字、姓氏和出生日期。(电子邮件模板如下所示:这是调度程序生成的电子邮件,用于通知您 First Name: {!Contact.FirstName}
, Last Name:的生日{!Contact.LastName}
在{!Contact.Next_Birthday__c}
.
在我的调度程序中,我使用 SOQl 语句在数据库中查询联系人的 ID 和名字。
调用查询后,如何将刚刚查询的信息转换为要在电子邮件模板中使用的字符串/方法?
我的猜测是将查询结果作为字符串返回?任何建议表示赞赏!
这是我的代码:
global class BirthdayName implements Schedulable
{
global void execute (SchedulableContext ctx)
{
sendBirthdayEmail();
}
public void sendBirthdayEmail()
{
for(Contact con : [SELECT Contact.name, Id FROM Contact WHERE Next_Birthday__c = : system.Today().addDays(2)])
{
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
mail.setTemplateId('00XJ0000000M31w');
mail.setTargetObjectId('005J0000000JWYx');
mail.setSaveAsActivity(false);
Messaging.sendEmail(new Messaging.SingleEmailMessage[] {mail});
}
}
}