Как отправлять отчеты об ошибках из ошибки .net dialog?

В 2008 году Джефф написал сообщение о ответственных сбоях . В этом духе я пытаюсь добавить кнопку «отправить отчет об ошибке» в свой диалог об ошибке. Идея состоит в том, что пользователь может легко отправить полный отчет об ошибке, который уже включает информацию о версии, информацию об ОС, трассировку стека ... Эта информация должна быть помещена в тело сообщения или во вложения.

К сожалению, отправка такого электронного письма из . NET кажется нетривиальным:

  • System.Net.Mail - это не то, что я ищу: я не могу быть уверен, что подключение к SMTP-серверу может быть выполнено во всех средах, и я не хочу возлагать бремя настройки локального имени хоста SMTP и порта на моих пользователей. Вместо этого я просто хочу запустить существующее программное обеспечение электронной почты в системе с предварительно составленным сообщением.
  • Использование ОС для открытия URL-адреса mailto: работает, но есть досадные ограничения на количество данные, которые могут быть переданы таким образом. Кроме того, похоже, что вложения на самом деле не поддерживаются спецификацией mailto .
  • mapi.dll , вероятно, будет делать то, что я хочу, как показано в этой статье codeproject , но В другом месте я читал, что mapi.dll принципиально несовместим с. NET , вызывая случайные сбои.

Кто-нибудь нашел безопасное и надежное решение для этого?

6
задан Community 23 May 2017 в 12:04
поделиться