¿Realmente necesitamos esperar hasta 24 horas para recibir correos electrónicos de excepción de Apex?

Aug 19 2020

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

7 Aidan Aug 19 2020 at 17:00

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 ApexEmailNotificationtabla 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 ApexEmailNotificationno se replica automáticamente en los entornos sandbox.