Trying to send email from apex and receiving error:
System.EmailException: SendEmail failed. First exception on row 0; first error: REQUIRED_FIELD_MISSING, Email body is required.: []
I have the line:
mail.setPlainTextBody(messageToSend);
Why does it not recognize that I have assigned a value for the body?
String messageToSend;
List<String> ListOfMessages = new List<String>();
Set<Id> AcctIds = new Set<Id>();
String clientEmail;
List<AggregateResult> AggregateResultList = [SELECT AccountId, Account.Name name, COUNT(Id) co
FROM Case
WHERE CreatedDate = LAST_N_DAYS:1
GROUP BY AccountId, Account.Name
HAVING COUNT(Id) = 2];
for(AggregateResult aggr: AggregateResultList){
String messageToSend = 'Account name: ' + aggr.get('name') + ' has ' + (Integer)aggr.get('co') + ' cases opened in the last 8 days.';
ListOfMessages.add(messageToSend);
Id accId = (Id)aggr.get('AccountId');
AcctIds.add(accId);
}
List<Case> caseList = [SELECT Id, AccountId, Account.Name,Parent_Project_if_applicable__r.Implementation_status__c,
Parent_Project_if_applicable__r.PM_Implementation_Status__c,
Parent_Project_if_applicable__r.RCM_Implementation_Status__c,
Parent_Project_if_applicable__r.Client_Advisor_Email__c
FROM Case
WHERE AccountId IN :AcctIds];
List<String> emailAdds = getAddresses();
for(Case cl:caseList){
if(cl.Parent_Project_if_applicable__r.Implementation_status__c == 'Live - Closed Project'){
Messaging.SingleEmailMessage mail = new Messaging.SingleEmailMessage();
mail.setToAddresses(emailAdds);
mail.setSenderDisplayName('Salesforce Support');
mail.Subject = 'Subject Test Message';
mail.setPlainTextBody(messageToSend);
Messaging.sendEmail(new Messaging.SingleEmailMessage[] { mail });
}