0

我使用 MAPI 从我的应用程序中创建带有附件的电子邮件,它在 XP 和 Vista(没有 UAC)上运行良好。当然,如果您启用了 UAC,它就不起作用(尽管它没有给出错误,并且不会提示用户允许继续)。

我做了一堆阅读,发现了很多不同的想法:

  • 需要应用程序的管理员权限
  • 要求应用程序具有某种形式的提升权限
  • 为需要提升的一小部分代码创建一个 COM 对象
  • 让操作系统提示用户询问他们是否要继续。

我想知道 SO 用户会做什么,因为我真的只需要提升一两个功能。我在这里寻找最小的痛苦(我不做 COM,但我可以用最好的 P/Invoke...),我正在使用 .NET 2.0(它是一个遗留应用程序) .

编辑:我同意提升整个应用程序并不是一个好主意,因为它只有一部分需要提升,但我的想法是,从长远来看,这可能比只提升其中一部分更容易。

此外,我宁愿远离 .NET SMTP 解决方案,因为我的目标只是创建一条带有附件的消息,但将其显示给用户,以便他们可以添加更多文本并在闲暇时发送。 .

4

1 回答 1

0

如果您可以放弃MAPI转而使用更通用的SMTP,您可以使用 .NET 的System.Net.Mail.SmtpClient类。与MailMessage类一起,您可以添加附件并通过任何愿意的SMTP服务器发送消息。

所有这些都可以在良好的旧 .NET 2.0 中作为托管代码使用 - 无需 p/invoke 或 COM。参考页面中的示例。

于 2008-12-18T17:15:10.953 回答