Неужели нам действительно нужно ждать до 24 часов электронных писем об исключениях Apex?
Для функции, над которой я работаю, меня проинструктировали обрабатывать ошибки, отправляя электронные письма с использованием сообщений об исключениях Apex, поэтому при возникновении ошибки я «обрабатываю» ее, создавая настраиваемое исключение.
Теперь я хотел бы посмотреть, как выглядит электронное письмо, и убедиться, что в нем есть вся информация, которая может помочь диагностировать и решить проблему.
Однако, что бы я ни делал, чтобы саботировать свое решение, я не получаю никаких писем.
- Да, я проверил, что мой пользователь указан на странице писем об исключениях Apex.
- Да, я проверил правильность своего адреса электронной почты в моей записи пользователя.
- Да, я проверил, что для параметра Доставки установлено значение "Вся электронная почта"
- Да, я выполнил тестовую доставку, чтобы убедиться, что могу получать электронные письма (и я получаю).
Поиск в Google по этим проблемам, похоже, предполагает, что эти письма об исключениях Apex могут отставать до 24 часов. Это очень раздражает с точки зрения тестирования, и, возможно, кто-то посчитает, что проблемы требуют более срочного внимания.
Есть ли что-нибудь, что можно сделать, чтобы это исправить и минимизировать?
Ответы
Стандартный механизм отправки электронных писем из необработанных исключений не является надежным, см. Этот вопрос: когда электронные письма с необработанными исключениями подавляются и не отправляются? или Почему я не всегда получаю электронные письма об исключениях, даже если я их настроил?
Итак, на вашем месте я бы ApexEmailNotification
запросил таблицу напрямую, а затем сгенерировал бы сообщения SingleEmailMessages для отправки обычным способом.
SELECT User.Email, Email FROM ApexEmailNotification
Это будет работать, но раздражает то, что ApexEmailNotification
автоматически не реплицируется в песочницы.