You need to sign in to do that
Don't have an account?

Batch Email code
Hi
Below is my code.Send mails to mailid field of contact object to three members at a time. Getting an error. System.EmailException: SendEmail failed. First exception on row 0; first error: REQUIRED_FIELD_MISSING, Add a recipient to send an email.: []
global class EmailToContactBatch implements Database.Batchable<sObject>
{
global database.querylocator start(Database.BatchableContext BC)
{
return Database.getQueryLocator([select id,name,Email from Contact order by Email asc limit 3]);
}
global void execute(Database.BatchableContext BC, Sobject[] scope)
{
List<Messaging.SingleEmailMessage> lstEmails = new List<Messaging.SingleEmailMessage>();
for(Contact objContact :(List<contact>) scope)
{
Messaging.SingleEmailMessage objEmail = new Messaging.SingleEmailMessage();
//Prepare SendToEmail List
List<String> lstSendToEmails = new List<String>();
if(objContact.Email != null)
{
lstSendToEmails.add(objContact.Email);
}
objEmail.setToAddresses(lstSendToEmails);
//Prepare CCEmailList
List<String> lstCCToEmails = new List<String>();
if(objContact.Email != null)
{
lstCCToEmails.add(objContact.Email);
}
objEmail.setCcAddresses(lstCCToEmails);
//Set Email Subject
objEmail.setSubject('Testing Emails');
//Set Email Body
String body = 'Dear Contact,please ready to contact if you have any issues';
objEmail.setHtmlBody(body);
lstEmails.add(objEmail);
Messaging.sendEmail(lstEmails);
}
}
global void finish(Database.BatchableContext BC)
{
}
}
Thanks In advance
Below is my code.Send mails to mailid field of contact object to three members at a time. Getting an error. System.EmailException: SendEmail failed. First exception on row 0; first error: REQUIRED_FIELD_MISSING, Add a recipient to send an email.: []
global class EmailToContactBatch implements Database.Batchable<sObject>
{
global database.querylocator start(Database.BatchableContext BC)
{
return Database.getQueryLocator([select id,name,Email from Contact order by Email asc limit 3]);
}
global void execute(Database.BatchableContext BC, Sobject[] scope)
{
List<Messaging.SingleEmailMessage> lstEmails = new List<Messaging.SingleEmailMessage>();
for(Contact objContact :(List<contact>) scope)
{
Messaging.SingleEmailMessage objEmail = new Messaging.SingleEmailMessage();
//Prepare SendToEmail List
List<String> lstSendToEmails = new List<String>();
if(objContact.Email != null)
{
lstSendToEmails.add(objContact.Email);
}
objEmail.setToAddresses(lstSendToEmails);
//Prepare CCEmailList
List<String> lstCCToEmails = new List<String>();
if(objContact.Email != null)
{
lstCCToEmails.add(objContact.Email);
}
objEmail.setCcAddresses(lstCCToEmails);
//Set Email Subject
objEmail.setSubject('Testing Emails');
//Set Email Body
String body = 'Dear Contact,please ready to contact if you have any issues';
objEmail.setHtmlBody(body);
lstEmails.add(objEmail);
Messaging.sendEmail(lstEmails);
}
}
global void finish(Database.BatchableContext BC)
{
}
}
Thanks In advance
Try Below Test Class Please Mark it As Best Answer If It Helps
Thank You!
Thanks for your reply
But its not about testclass
whenever i am using the above getting the error like
System.EmailException: SendEmail failed. First exception on row 0; first error: REQUIRED_FIELD_MISSING, Add a recipient to send an email.: []
Try Below Code Please Mark it As Best Answer If It Helps
Thank You!