¿Realmente necesitamos esperar hasta 24 horas para recibir correos electrónicos de excepción de Apex?
Para una función en la que estoy trabajando, se me ha indicado que maneje los errores enviando correos electrónicos utilizando los correos electrónicos de excepción de Apex, por lo que cuando ocurre un error, lo estoy "manejando" lanzando una excepción personalizada.
Ahora me gustaría ver cómo se ve el correo electrónico y asegurarme de que tenga toda la información que pueda ayudar a diagnosticar y resolver el problema.
Sin embargo, no importa lo que haga para sabotear mi solución, no recibo ningún correo electrónico.
- Sí, he comprobado que mi usuario aparece en la página de correos electrónicos de excepción de Apex.
- Sí, he comprobado que mi dirección de correo electrónico es correcta en mi registro de usuario.
- Sí, he comprobado que la capacidad de entrega esté configurada en "Todos los correos electrónicos".
- Sí, he ejecutado Test Deliverability para asegurarme de que puedo recibir correos electrónicos (y lo hago).
Buscar en Google estos problemas parece sugerir que estos correos electrónicos de excepción de Apex pueden demorarse hasta 24 horas. Esto es muy molesto desde la perspectiva de las pruebas y tal vez alguien sienta que los problemas requieren una atención más urgente.
¿Hay algo que se pueda hacer para ajustar y minimizar esto?
Respuestas
El mecanismo estándar para enviar correos electrónicos desde excepciones no controladas no es confiable, consulte esta pregunta: ¿ Cuándo se suprimen y no se envían los correos electrónicos de excepción no controlada? o ¿Por qué no siempre recibo correos electrónicos de excepción aunque los haya configurado?
Entonces, si yo fuera usted, consultaría la ApexEmailNotification
tabla directamente y luego generaría SingleEmailMessages para enviar de la manera normal.
SELECT User.Email, Email FROM ApexEmailNotification
Eso funcionará, pero lo molesto es que ApexEmailNotification
no se replica automáticamente en los entornos sandbox.