3

我有一个使用 ASP.net 和 C# 开发的 Web 应用程序,它在我公司的 Intranet 上运行。因为该应用程序的所有用户都无一例外地使用 Microsoft Outlook,所以我希望该应用程序在客户端打开一条 Outlook 消息。 我了解 Office 旨在在桌面上运行而不是从服务器上运行,但是我在客户端创建 Word 或 Excel 文档时没有问题。

我有使用 Microsoft.Office.Interop.Outlook 命名空间和安装在服务器上的 Outlook 实例化 Outlook 对象的代码。当我尝试从服务器运行代码时,我收到一条 DCOM 源错误消息,指出“机器默认权限设置不授予 CLSID {000C101C-0000-0000-C000-000000000046 的 COM 服务器应用程序的本地激活权限} 给用户 可以使用组件服务管理工具修改此安全权限。” 我已经使用组件服务工具修改了权限,但仍然出现同样的错误。

有没有办法克服这个问题,或者这是一个徒劳的练习,因为 Outlook 无法从服务器端代码在客户端打开?

由于电子邮件可以获得的极端长度,Mailto 将无法工作。此外,发送它的用户需要在文本中为收件人添加引人注目的内容。

4

5 回答 5

6

您无法从服务器端代码打开客户端上的某些内容。您必须在页面上使用脚本来执行您想要的操作(或其他客户端,如 ActiveX 或嵌入式 .NET 或其他东西)

这是一个从网页调用 Outlook MailItem 的示例 Javascript。这可以很容易地从您的服务器端代码注入到页面中,以便在客户端上执行。

http://www.codeproject.com/KB/aspnet/EmailUsingJavascript.aspx

于 2008-09-04T18:38:23.930 回答
2

(提示:在你的问题中格式化)

我不明白mailto 链接或formmail 类型的页面有什么问题。

于 2008-09-04T18:40:13.457 回答
1

如果公司中的每个人都使用 Outlook,那么只需使用标准的“mailto”链接就应该始终打开 Outlook。听起来您对此进行了过度设计。

于 2008-09-04T18:46:08.077 回答
1

您要打开现有电子邮件还是创建新电子邮件?也许我误解了你的问题;你能提供一个像这样的链接:

mailto:recipient@email.tld?subject=This%20is%20the%20subject&body=Hello%20there!

当用户单击该链接时,将打开一个新的 Outlook 电子邮件,并且:

  • 收件人:recipient@email-tld
  • 主题:这是主题
  • 身体:你好!

所有这些字段都已从链接中填写。

于 2008-09-04T18:46:51.087 回答
1

我只是把它扔在那里,因为它被问到了。

Mailto 有很多缺点;主要是尺寸。由于发件人需要对电子邮件文本进行大量格式化,因此生成的 html 代码会占用大量空间,在使用 mailto 时会失败。

还是)感谢你的建议。

于 2008-09-04T18:52:50.573 回答