新しいリードが入ってきたら、ビフォア トリガーと、リード フィールドの値を含む Visualforce メール テンプレートを使用して、SingleEmailMessage クラスを使用してメールを送信したいと考えています。電子メールが生成されていますが、すべてのリード フィールドがヌルですが ( 経由で認識System.Debug
されます)、値が通話に送られます。
メソッドを介してまだ保存されていないリード ID を渡しているためmail.setWhatId(lead.Id)
、メール クラスが Id 値を使用して、まだ保存されていないリードへの参照としてではなく、データベース ルックアップを実行しようとしていると考え始めています。メモリー。
それが事実かどうか誰かが知っていますか?リードがすでに存在する場合、私のクラスは問題なく動作します。
Apex メール クラスが DB 読み取りを行う場合、リードを保存する前にリード フィールドの値を送信して電子メールで更新する必要がある場合のパターンの提案はありますか? メールが顧客に宛てられているため、ワークフローのメール通知を使用できません。また、いくつかのリード項目に基づいて既存の取引先レコードから取得するアドレスを整理する追加の Apex コードがあるため、VF を使用する必要があると思います。そもそもメール テンプレート。