Apex Messaging.SingleEmailMessageメール送信サンプル
環境
Salesforce Apex
概要
Messaging.SingleEmailMessage
電子メールを送信するための SingleEmailMessage クラスの新しいインスタンスを初期化します。
使用例
1.Apexクラスの定義
public class EmailMissionSpecialist {
// パブリックメソッド
public void sendMail(String address, String subject, String body) {
// 電子メールメッセージオブジェクトを作成する
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
String[] toAddresses = new String[] {address};
mail.setToAddresses(toAddresses);
mail.setSubject(subject);
mail.setPlainTextBody(body);
// この電子メール メッセージを組み込みの sendEmail メソッドに渡します
Messaging.SendEmailResult[] results = Messaging.sendEmail(
new Messaging.SingleEmailMessage[] { mail });
//helper メソッドを呼び出して、返された結果を検査します。
inspectResults(results);
}
// Helperメソッド
private static Boolean inspectResults(Messaging.SendEmailResult[] results) {
Boolean sendResult = true;
// sendEmail は結果オブジェクトの配列を返します。
// リストを反復処理して結果を検査します。
// このクラスでは、メソッドは 1 つの電子メールのみを送信します。
// したがって、結果は 1 つだけになるはずです。
for (Messaging.SendEmailResult res : results) {
if (res.isSuccess()) {
System.debug('Email sent successfully');
}
else {
sendResult = false;
System.debug('The following errors occurred: ' + res.getErrors());
}
}
return sendResult;
}
}
public class EmailMissionSpecialist {
// パブリックメソッド
public void sendMail(String address, String subject, String body) {
// 電子メールメッセージオブジェクトを作成する
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
String[] toAddresses = new String[] {address};
mail.setToAddresses(toAddresses);
mail.setSubject(subject);
mail.setPlainTextBody(body);
// この電子メール メッセージを組み込みの sendEmail メソッドに渡します
Messaging.SendEmailResult[] results = Messaging.sendEmail(
new Messaging.SingleEmailMessage[] { mail });
//helper メソッドを呼び出して、返された結果を検査します。
inspectResults(results);
}
// Helperメソッド
private static Boolean inspectResults(Messaging.SendEmailResult[] results) {
Boolean sendResult = true;
// sendEmail は結果オブジェクトの配列を返します。
// リストを反復処理して結果を検査します。
// このクラスでは、メソッドは 1 つの電子メールのみを送信します。
// したがって、結果は 1 つだけになるはずです。
for (Messaging.SendEmailResult res : results) {
if (res.isSuccess()) {
System.debug('Email sent successfully');
}
else {
sendResult = false;
System.debug('The following errors occurred: ' + res.getErrors());
}
}
return sendResult;
}
}
public class EmailMissionSpecialist { // パブリックメソッド public void sendMail(String address, String subject, String body) { // 電子メールメッセージオブジェクトを作成する Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage(); String[] toAddresses = new String[] {address}; mail.setToAddresses(toAddresses); mail.setSubject(subject); mail.setPlainTextBody(body); // この電子メール メッセージを組み込みの sendEmail メソッドに渡します Messaging.SendEmailResult[] results = Messaging.sendEmail( new Messaging.SingleEmailMessage[] { mail }); //helper メソッドを呼び出して、返された結果を検査します。 inspectResults(results); } // Helperメソッド private static Boolean inspectResults(Messaging.SendEmailResult[] results) { Boolean sendResult = true; // sendEmail は結果オブジェクトの配列を返します。 // リストを反復処理して結果を検査します。 // このクラスでは、メソッドは 1 つの電子メールのみを送信します。 // したがって、結果は 1 つだけになるはずです。 for (Messaging.SendEmailResult res : results) { if (res.isSuccess()) { System.debug('Email sent successfully'); } else { sendResult = false; System.debug('The following errors occurred: ' + res.getErrors()); } } return sendResult; } }
2.Apexクラスの実行
EmailMissionSpecialist em = new EmailMissionSpecialist();
em.sendMail('test@arkgame.com', 'Flight Path Change',
'Mission Control 123: Your flight path has been changed to avoid collision '
+ 'with asteroid 2014 QO441.');
EmailMissionSpecialist em = new EmailMissionSpecialist();
em.sendMail('test@arkgame.com', 'Flight Path Change',
'Mission Control 123: Your flight path has been changed to avoid collision '
+ 'with asteroid 2014 QO441.');
EmailMissionSpecialist em = new EmailMissionSpecialist(); em.sendMail('test@arkgame.com', 'Flight Path Change', 'Mission Control 123: Your flight path has been changed to avoid collision ' + 'with asteroid 2014 QO441.');