Неужели нам действительно нужно ждать до 24 часов электронных писем об исключениях Apex?

Aug 19 2020

Для функции, над которой я работаю, меня проинструктировали обрабатывать ошибки, отправляя электронные письма с использованием сообщений об исключениях Apex, поэтому при возникновении ошибки я «обрабатываю» ее, создавая настраиваемое исключение.

Теперь я хотел бы посмотреть, как выглядит электронное письмо, и убедиться, что в нем есть вся информация, которая может помочь диагностировать и решить проблему.

Однако, что бы я ни делал, чтобы саботировать свое решение, я не получаю никаких писем.

  • Да, я проверил, что мой пользователь указан на странице писем об исключениях Apex.
  • Да, я проверил правильность своего адреса электронной почты в моей записи пользователя.
  • Да, я проверил, что для параметра Доставки установлено значение "Вся электронная почта"
  • Да, я выполнил тестовую доставку, чтобы убедиться, что могу получать электронные письма (и я получаю).

Поиск в Google по этим проблемам, похоже, предполагает, что эти письма об исключениях Apex могут отставать до 24 часов. Это очень раздражает с точки зрения тестирования, и, возможно, кто-то посчитает, что проблемы требуют более срочного внимания.

Есть ли что-нибудь, что можно сделать, чтобы это исправить и минимизировать?

Ответы

7 Aidan Aug 19 2020 at 17:00

Стандартный механизм отправки электронных писем из необработанных исключений не является надежным, см. Этот вопрос: когда электронные письма с необработанными исключениями подавляются и не отправляются? или Почему я не всегда получаю электронные письма об исключениях, даже если я их настроил?

Итак, на вашем месте я бы ApexEmailNotificationзапросил таблицу напрямую, а затем сгенерировал бы сообщения SingleEmailMessages для отправки обычным способом.

SELECT User.Email, Email FROM ApexEmailNotification

Это будет работать, но раздражает то, что ApexEmailNotificationавтоматически не реплицируется в песочницы.