こんにちは、管理人の@Salesforce.Zです。
sfdcの開発では、
時にメール送信機能を実装し、
送信するでしょう
メールの内容をテンプレートにできるし、
すごい便利です。
しかし、メールテンプレートに
差込できる項目、レコード自身の項目
および、主従関係である場合に、従側から【__r】で主側の項目を差し込める
参照関係はできません
こんな時に、メールテンプレートの
中身を置き換えるしかない
今回、置換について
共有したいと思います。
欲しけりゃくれてやる・・・。
探せ!
この世の全てをそこに置いてきた〜笑
目次
サンプル
メールテンプレート(テキスト)
置換クラス
// 対象メールテンプレートを取得する EmailTemplate tempMail = [SELECT Id, Subject, Body FROM EmailTemplate WHERE DeveloperName = :tmplateName]; String[] replaceValue = new String[2]; replaceValue[0] = account.Name; replaceValue[1] = account.HomePhone; String resultBody = String.format(tempMail.body, replaceValue); Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage(); // sendTo, cc, Bcc, などの設定はここで省略 //............... //............... mail.setPlainTextBody(resultBody); // 送信 Messaging.sendEmail(new Messaging.SingleEmailMessage[] { mail });
まとめ
{0}のような形に以外もあります。 Mapで置換とはもできる。それなら、文字列を埋め:構文が{!accountName}
メールのBodyの中で、改行したいなら"\n"で結合し、改行したいところに入れたら、OKです。
いろいろ、試して楽しんでください!