Avons-nous vraiment besoin d'attendre jusqu'à 24 heures pour les e-mails d'exception Apex?

Aug 19 2020

Pour une fonctionnalité sur laquelle je travaille, j'ai été chargé de gérer les erreurs en envoyant des e-mails à l'aide des e-mails d'exception Apex, donc lorsqu'une erreur se produit, je la «gère» en lançant une exception personnalisée.

Maintenant, j'aimerais voir à quoi ressemble l'e-mail et m'assurer qu'il contiendra toutes les informations qui pourraient aider à diagnostiquer et à résoudre le problème.

Cependant, peu importe ce que je fais pour saboter ma solution, je ne reçois aucun e-mail.

  • Oui, j'ai vérifié que mon utilisateur est répertorié sur la page des e-mails d'exception Apex.
  • Oui, j'ai vérifié que mon adresse e-mail est correcte dans mon dossier d'utilisateur.
  • Oui, j'ai vérifié que la délivrabilité est définie sur "Tous les e-mails"
  • Oui, j'ai exécuté Test Deliverability pour m'assurer de pouvoir recevoir des e-mails (et je le fais).

Googler ce problème semble suggérer que ces e-mails d'exception Apex pourraient prendre du retard jusqu'à 24 heures. C'est très ennuyeux du point de vue des tests et peut-être que quelqu'un pourrait penser que les problèmes nécessitent une attention plus urgente.

Y a-t-il quelque chose qui peut être fait pour ajuster et minimiser cela?

Réponses

7 Aidan Aug 19 2020 at 17:00

Le mécanisme standard d'envoi d'e-mails à partir d'exceptions non gérées n'est pas fiable, voir cette question: Quand les e-mails d'exceptions non gérées sont-ils supprimés et non envoyés? ou Pourquoi ne reçois-je pas toujours des e-mails d'exception même si je les ai configurés?

Donc, si j'étais vous, ApexEmailNotificationj'interrogerais directement la table, puis générerais des SingleEmailMessages à envoyer de la manière normale.

SELECT User.Email, Email FROM ApexEmailNotification

Cela fonctionnera, mais le plus ennuyeux est que ce ApexEmailNotificationn'est pas automatiquement répliqué dans les bacs à sable.