我为生日做了一个Apex Scheduler Class.当生日为2天时,该课程可以成功发送电子邮件给我们的导演.
但是,两天后生日时发送的电子邮件模板需要包含联系人的姓氏和生日.(电子邮件模板看起来是这样的:这是一个调度程序生成的电子邮件通知您名字的生日:{!Contact.FirstName},姓氏:{!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});
}
}
}
Run Code Online (Sandbox Code Playgroud)