Apex可调度类:SendEmail失败INVALID_SA VE_AS_ACTI VITY_FLAG saveAsActi vity必须为false

时间:2012-07-20 18:41:38

标签: java salesforce scheduled-tasks apex-code job-scheduling

我是apex的新手,我正在尝试建立一个每天运行的顶级计划课程。如果提交的帐户审核日期为两周(14天),则计划程序将向我们的销售部门发送电子邮件。

我创建了一个实现可调度接口的类。我目前正在测试以确保我的代码有效。我已经创建了一个测试方法,但我不确定它是否有效。我收到了这封错误邮件:

沙盒

引起:System.EmailException:SendEmail失败。第0行的第一个例外;第一个错误:INVALID_SAVE_AS_ACTIVITY_FLAG,saveAsActivity在向用户发送邮件时必须为false:[]

Class.AccountReviewSchedulerOtherObjectIDETest.sen dEmail:第15行第1列

Class.AccountReviewSchedulerOtherObjectIDETest.exe可爱:第5行第1列

如果没有测试方法,我的调度程序没有得到任何回复(不是错误电子邮件或我尝试发送的电子邮件。

这是我的Apex预定班级(带测试方法)

global class AccountReviewSchedulerOtherObjectIDETest implements Schedulable{ 
global void execute (SchedulableContext ctx) 
{ 

sendEmail(); 

}
public void sendEmail()
{


Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage(); 
mail.setTemplateId('00XF0000000LfE0'); 
mail.setTargetObjectId('005J0000000JWYx'); 
Messaging.sendEmail(new Messaging.SingleEmailMessage[] {mail }); 
}

public static testMethod void testschedule() {

Test.StartTest();
AccountReviewSchedulerOtherObjectID sh1 = new AccountReviewSchedulerOtherObjectID();

Test.stopTest();

}
}

这个错误是什么意思?我的测试类写错了吗?我的电子邮件方法有问题吗?

1 个答案:

答案 0 :(得分:2)

在调用Messaging.sendEmail()之前添加mail.setSaveAsActivity(false);