[Salesforce]単一メール(SingleEmailMessage)でメール送信

単一メール(SingleEmailMessage)でメール送信例です。

複数のメールを一度に送信することができます。

メールテンプレートを使用せずにメールを送信

Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();

mail.setToAddresses(toAddresses); // 送信先(String[])
mail.setCcAddresses(ccAddresses); // 省略可能。CC送信先(String[])
mail.setBccAddresses(bccAddresses); // 省略可能。BCC送信先(String[])
mail.setSubject(subject); // 件名(String)
mail.setPlainTextBody(body); // 本文(String)
mail.setEntityAttachments(ids); // 省略可能。添付ファイル(Document、ContentVersion、AttachmentのIDのリスト)
mail.setReplyTo(replyAddress); // 返信先メールアドレス(String)

Messaging.sendEmail(new List<Messaging.SingleEmailMessage>{mail});

[Salesforce]動的SOQL

動的SOQLに例文紹介します。

        
        String tp = 'tptest';         
        String pt = 'pttest';
	Date todayDate = Date.today();
 
        String soql = 'SELECT Name ' + 
                        ' FROM Test__c ' +
                        ' WHERE TestCo__c = ' + '\'' + this.co + '\''+
                            ' and TestPt__c = ' + '\'' +  pt + '\'' +
                            ' and TestDt1__c <= : todayDate ' +
                            ' and TestDt2__c >= : todayDate ';
        if(!String.isBlank(tp)){
            soql += ' and TestTp__c = ' + '\'' + tp + '\'' ;
        }
        soql += ' Order by Name '; 
         List<Test__c> results = Database.query(soql);