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;
   }
}

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.');

 

IT

Posted by arkgame