【Salesforce】Apexでメールを送信する
SalesforceでApexからメールを送信する処理を作っています。
何度か作っているはずなのですが、毎回調べているのでメモです。
Messaging.SingleEmailMessage email; List<Messaging.Email> emailList; List<Messaging.SendEmailResult> resultList; // メールを作成する email = new Messaging.SingleEmailMessage(); // 宛先(ユーザ)を指定する //email.setTargetObjectId('ユーザId'); // メールアドレスを指定する場合はリストへ入れる email.setToAddresses(new List<String>{'address@dmain.com'}); // 件名 email.setSubject('テストメール'); // HTML部 email.setHtmlBody('マルチパートメール<br/>(HTML)'); // テキスト部分 email.setPlainTextBody('マルチパートメール\r\n(テキスト)'); // 活動に保存しない email.setSaveAsActivity(false); // リストに追加する emailList = new List<Messaging.Email>(); emailList.add(email); // メールを送信する resultList = Messaging.sendEmail(emailList, true); // もちろんこうでもOK //Messaging.sendEmail(emailList , false);
HTMLBodyとPlainTextBodyの両方に本文を設定することで、マルチパートメールになるようです。
ちゃんとメールヘッダも変わっていたので驚きました。
HTMLメールテンプレートでも両方が指定できますから、同じ処理なのでしょうか。
コピペして開発者コンソールで実行するとメールが飛びます。
メールアドレスは変更してくださいね。
No comments.