【Salesforce】Apexでメールを送信する

【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.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です