【Salesforce】INVALID_SAVE_AS_ACTIVITY_FLAG, saveAsActivity must be false when sending mail to users.: [saveAsActivity, true]
Apexでメールを送信した際に、エラーが発生しました。
1 | 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)としてやれば解決です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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.