Как узнать результат отправки отчета об ошибке MadExcept из приложения Delphi?

Я не могу найти способ определить, можно ли было отправить отчет об ошибке из моего приложения D2006. Если MadExcept может сделать какой-то код возврата доступным, я, возможно, смогу дать некоторые рекомендации пользователю относительно того, что может быть не так.

2 ответа

Проблема в том, что MadExcept не может разумно определить это. Есть целая цепочка вещей, которые могут пойти не так, как только Madexcept отправит электронное письмо. Вы получите исключение, если MadExcept не сможет создать отчет или возникнет немедленная проблема с отправкой электронного письма.

  • почтовый клиент приходит с сообщением, пользователь не нажимает отправить
  • почтовый клиент сломан или неправильно настроен
  • SMTP-хост не работает, не работает или отсутствует
  • ваш клиент находится на RBL, на который вы подписаны (возможно, по незнанию)
  • домен вашего клиента находится на RBL или иным образом заблокирован
  • ваша почтовая система икота и вы потеряете эту электронную почту

Лучшее, что вы можете получить от MadExcept, - "исключение не выдано, отправка могла пройти успешно".

Возможно, не полное решение, но полезная информация: если отчет об ошибке отправляется с помощью HTTP-запроса POST на веб-сервер, madExcept может определить, содержит ли ответ заголовок перенаправления HTTP, и в этом случае madExcept запустит веб-браузер по умолчанию и загрузит URL, указанный в редиректе.

Таким образом, пользователь может сразу увидеть, что отчет был получен и сохранен.

Веб-сервер может даже проанализировать отчет об ошибке и предоставить дополнительную информацию, такую ​​как "Эта ошибка уже известна, и у нас есть обновление приложения, которое исправит ее, вы можете скачать ее здесь". (Я написал для этого веб-приложение madxnet- оно все еще доступно для тестирования).

Другие вопросы по тегам