Я не могу найти способ определить, можно ли отправить отчет об ошибке из моего приложения D2006. Если MadExcept может предоставить какой-то код возврата, я, возможно, смогу дать пользователю некоторые рекомендации относительно того, что может быть не так.
Как я могу узнать результат отправки отчета об ошибке MadExcept из приложения Delphi
Ответы (2)
Проблема в том, что MadExcept не может разумно определить это. Существует целая цепочка вещей, которые могут пойти не так после того, как Madexcept отправит электронное письмо. Вы получите исключение, если MadExcept не сможет построить отчет или возникнет немедленная проблема с отправкой электронного письма.
- почтовый клиент приходит с сообщением, пользователь не нажимает кнопку «Отправить»
- почтовый клиент не работает или неправильно настроен
- Хост SMTP неисправен, не работает или отсутствует
- ваш клиент находится на RBL, на который вы подписаны (возможно, неосознанно)
- домен вашего клиента находится в RBL или иным образом заблокирован
- ваша почтовая система дает сбой, и вы теряете это письмо
Лучшее, что вы можете получить от MadExcept, это «исключения не выброшены, возможно, отправка прошла нормально».
Возможно, это не полное решение, но полезная информация: если отчет об ошибке отправляется с использованием HTTP-запроса POST на веб-сервер, madExcept может определить, содержит ли ответ заголовок перенаправления HTTP, и в этом случае madExcept запустит веб-браузер по умолчанию и загрузит URL-адрес, указанный в перенаправлении.
Таким образом, пользователь может сразу увидеть, что отчет получен и сохранен.
Веб-сервер может даже проанализировать отчет об ошибке и предоставить дополнительную информацию, такую как «Эта ошибка уже известна, и у нас есть обновление приложения, которое ее исправит, вы можете скачать его здесь». (Я написал веб-приложение, madxnet, для этой цели - оно до сих пор доступно для тестирования).