【Salesforce】INVALID_SAVE_AS_ACTIVITY_FLAG, saveAsActivity must be false when sending mail to users.: [saveAsActivity, true]
Apexでメールを送信した際に、エラーが発生しました。
INVALID_SAVE_AS_ACTIVITY_FLAG, saveAsActivity must be false when sending mail to users.: [saveAsActivity, true]
ユーザにメールを送信する場合は活動の保存をfalseに設定してね、とのことです。
SingleEmailMessageのスーパークラスであるEmailクラスにはsetSaveAsActivityというメソッドが存在し、メールの送信を活動に保存するかを指定できます。
デフォルトではtrueになっているんですね。
今回は送信先をsetTargetObjectIdメソッドでユーザのIDを指定しました。
メール送信の際にsetSaveAsActivity(false)としてやれば解決です。
Messaging.SingleEmailMessage email; // メールを作成する email = new Messaging.SingleEmailMessage(); // 宛先(ユーザ)を指定する email.setTargetObjectId('005d0000001UfHp'); // 件名 email.setSubject('test'); // メールBody email.setPlainTextBody('plainTextBody'); // 活動に保存しない email.setSaveAsActivity(false); // メールを送信する Messaging.sendEmail(new Messaging.Email[] { email } , opt_allOrNone);
デフォルトでtrueになっているのには理由があるんでしょうかね。
No comments.