Abbiamo davvero bisogno di attendere fino a 24 ore per le email di eccezione Apex?

Aug 19 2020

Per una funzione su cui sto lavorando, mi è stato chiesto di gestire gli errori inviando e-mail utilizzando le e-mail di eccezione Apex, quindi quando si verifica un errore, lo "gestisco" lanciando un'eccezione personalizzata.

Ora vorrei vedere come appare l'email e assicurarmi che contenga tutte le informazioni che potrebbero aiutare a diagnosticare e risolvere il problema.

Tuttavia, qualunque cosa io faccia per sabotare la mia soluzione, non ricevo nessuna email.

  • Sì, ho verificato che il mio utente sia elencato nella pagina Email di eccezione Apex.
  • Sì, ho verificato che il mio indirizzo e-mail sia corretto nel mio record utente.
  • Sì, ho verificato che Deliverability sia impostato su "All email"
  • Sì, ho eseguito Test Deliverability per assicurarmi di poter ricevere e-mail (e lo faccio).

Cercare su Google questi problemi sembra suggerire che queste e-mail di eccezione Apex potrebbero rimanere indietro fino a 24 ore. Questo è molto fastidioso dal punto di vista dei test e forse qualcuno potrebbe ritenere che i problemi richiedano un'attenzione più urgente.

C'è qualcosa che può essere fatto per regolare e ridurre al minimo questo?

Risposte

7 Aidan Aug 19 2020 at 17:00

Il meccanismo standard per l'invio di messaggi di posta elettronica da eccezioni non gestite non è affidabile, vedere questa domanda: Quando i messaggi di posta elettronica di eccezione non gestiti vengono soppressi e non inviati? oppure Perché non ricevo sempre email di eccezione anche se le ho impostate?

Quindi, se fossi in te, interrogherei ApexEmailNotificationdirettamente la tabella, quindi genererei SingleEmailMessages da inviare nel modo normale.

SELECT User.Email, Email FROM ApexEmailNotification

Funzionerà, ma la cosa fastidiosa è che ApexEmailNotificationnon viene replicato automaticamente nei sandbox.