Apex Messaging.SingleEmailMessageメール送信サンプル

環境
Salesforce Apex

概要
Messaging.SingleEmailMessage
電子メールを送信するための SingleEmailMessage クラスの新しいインスタンスを初期化します。

使用例
1.Apexクラスの定義

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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クラスの実行

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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.');

 

IT

Posted by arkgame