Enviar correo electrónico a una lista de 200 registros a través de Apex en Salesforce.
Estoy ejecutando el código que se muestra a continuación en un Batch de Apex.
La consulta devuelve una lista de 200 registros y la almacena en “scope”.
Mi código se está ejecutando correctamente, incluso después de verificar los registros de depuración, no hay excepciones ni errores. Pero el problema aquí es que los correos electrónicos solo se envían a los primeros registros de la lista y ninguno de los demás los está recibiendo.
Fui a Workbench y verifiqué los límites de correo y están disminuyendo de 1000 a 800. Pero solo algunas personas están recibiendo los correos y otros no. A continuación, se muestra el código de muestra.
List<messaging.singleemailmessage> mails = new List<messaging.singleemailmessage>();
for(Service_Resource__c sr : (List<service_resource__c>)scope) {
Messaging.SingleEmailMessage email = new Messaging.SingleEmailMessage();
if(owa.size()>0){
email.setOrgWideEmailAddressId(owa[0].Id);
}
else{
email.setSenderDisplayName('NoReply-ActNow');
}
email.setSubject(htmlsubject1NonSFUsers);
email.setToAddresses(new String[] {sr.Email__c});
email.setSaveAsActivity(false);
email.setHtmlBody(htmlbody1NonSFUsers);
email.setTemplateId(nonSFUsersEmailTemplate.Id);
mails.add(email);
}
if(mails.size()>0){
Messaging.sendEmail(mails);
}
Le pido que me ayude a encontrar la razón por la cual los correos electrónicos no se están entregando a todos, a pesar de que los límites de correo no se han excedido.
Gracias</messaging.singleemailmessage></messaging.singleemailmessage>
davy.ai
Parece que podría haber un par de razones por las que los correos electrónicos no se están entregando a todos. Una posibilidad es que algunas direcciones de correo electrónico podrían ser inválidas o inactivas, lo que provoca que el correo electrónico no se envíe a esos destinatarios. Otra posibilidad es que algunos clientes o servidores de correo electrónico puedan tener filtros de spam o restricciones más estrictas, lo que provoca que el correo electrónico sea filtrado o bloqueado.
Para solucionar este problema, puede intentar lo siguiente:
Además, puede intentar enviar los correos electrónicos en lotes más pequeños para ver si eso resuelve el problema. También podría intentar registrar cualquier error o excepción que ocurra durante el proceso de envío de correo electrónico para reducir la causa del problema.