Как обрабатывать контроль доступа пользователей при использовании MAPI в .NET - PullRequest
0 голосов
/ 18 декабря 2008

Я использовал MAPI для создания электронных писем с вложениями из моего приложения, и это очень хорошо работает в XP и Vista (без UAC). Конечно, если у вас включен UAC, он просто не работает (хотя он не выдает ошибок и не запрашивает у пользователя разрешения на продолжение).

Я много читал и нашел много разных идей:

  • Требуются права администратора для приложения
  • Требуется некоторая форма повышенных привилегии для приложения
  • Создание COM-объекта для малого части кода, которые требуют высота
  • Получите ОС, чтобы подсказывать пользователям спрашивая их, если они хотят продолжить.

Мне интересно, что бы сделали пользователи SO, учитывая, что мне действительно нужно повышение прав только для одной или двух функций. Я ищу минимальное количество боли здесь (я не делаю COM, но я могу P / Invoke с лучшими из них ...), и я работаю в .NET 2.0 (это устаревшее приложение) .

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

Кроме того, я бы предпочел держаться подальше от .NET SMTP-решения, поскольку моя цель - просто создать сообщение с вложением, но показать его пользователю, чтобы они могли добавить больше текста и отправить его по своему усмотрению. отдых ...

1 Ответ

0 голосов
/ 18 декабря 2008

Если вы можете отказаться от MAPI в пользу более общего SMTP , вы можете использовать .NET System.Net.Mail.SmtpClient . Вместе с классом MailMessage вы можете добавлять вложения и отправлять сообщения через любой желающий SMTP сервер.

Все доступно в старом добром .NET 2.0 в виде управляемого кода - нет необходимости в p / invoke или COM. Примеры на ссылочных страницах.

...