Memos About SalesForce

Salesforceにハマってたこと!

Salesforce 単一のメールメッセージの送信(SingleEmailMessage)

こんにちは、管理人の@Salesforce.Zです。

今日はシンプルです。

単一のメールメッセージの送信のサンプルコードを公開します。

サンプル送信コード

public class UtilEmailManager {
    /**
     * メッセージ作成
     * @param parToAddress 返信先アドレス
     * @param ccAddresses CC
     * @param bccAddresses Bcc
     * @param parFromMail 送信元のアドレス
     * @param subject 件名
     * @param body 送信内容
     * @param attachmentIdList メールに添付するファイルID List
     */
    public static void sendMail(String parToAddress,
                                String[] ccAddresses,
                                String[] bccAddresses,
                                String parFromMail,
                                String subject,
                                String body,
                                List<Id> attachmentIdList) {
        // メール送信
        Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
        String[] toAddresses = new String[] {parToAddress};
        // 組織情報取得する
        list<OrgWideEmailAddress> owdlist = [SELECT Id FROM OrgWideEmailAddress WHERE Address = :parFromMail  LIMIT 1];
        mail.setToAddresses(toAddresses);
        if(!ccAddresses.isEmpty()){
            mail.setCcAddresses(ccAddresses);
        }
        mail.setBccAddresses(bccAddresses);
        mail.setOrgWideEmailAddressId(owdlist[0].Id);
        mail.setSubject(subject);
        if(attachmentIdList != NULL && !attachmentIdList.isEmpty()){
            mail.setEntityAttachments(attachmentIdList);
        }
        mail.setPlainTextBody(body);
        Messaging.sendEmail(new Messaging.SingleEmailMessage[] { mail });
    }
}