es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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>

Tags:  , ,

Answer

  1. Avatar for 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:

    1. Verifique nuevamente que todas las direcciones de correo electrónico en la lista sean válidas y estén activas.
    2. Verifique si alguna de las direcciones de correo electrónico o dominios está en una lista negra de spam, y si es así, intente enviar el correo electrónico desde un remitente diferente o utilizando un proveedor de servicios de correo electrónico diferente.
    3. Verifique que la plantilla y el contenido del correo electrónico estén formateados correctamente y no estén activando ningún filtro de spam.
    4. Verifique si hay límites o restricciones de envío de correo electrónico adicionales que puedan estar causando que los correos electrónicos no se entreguen (por ejemplo, límites de envío diarios).

    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.

Comments are closed.