我有一个用ASP.net和C#开发的Web应用程序,它运行在我公司的内部网上。因为此应用程序的所有用户都毫无例外地使用Microsoft Outlook,所以我希望应用程序在客户端打开Outlook消息。 我了解Office设计为在桌面上运行,而不是从服务器运行,但是我在客户端创建Word或Excel文档时没有任何问题。
我有使用Microsoft.Office.Interop.Outlook命名空间和服务器上安装的Outlook实例化Outlook对象的代码。当我尝试从服务器运行代码时,我收到一条DCOM源错误消息,指出“机器默认权限设置不授予具有CLSID的COM服务器应用程序的本地激活权限{000C101C-0000-0000-C000-000000000046用户可以使用组件服务管理工具修改此安全权限。“我已使用组件服务工具修改了权限,但仍然遇到同样的错误。
有没有办法克服这个问题,或者这是一个徒劳无功的练习,因为无法从服务器端代码在客户端打开Outlook?
由于电子邮件可以获得的极长,Mailto将无法运行。此外,发送它的用户需要为收件人的文本添加一些眼睛。
答案 0 :(得分:6)
您无法从服务器端代码在客户端上打开某些内容。您必须使用页面上的脚本来执行您想要的操作(或客户端的其他内容,如ActiveX或嵌入式.NET或其他内容)
这是一个从网页调用Outlook MailItem的示例Javascript。这可以很容易地从服务器端代码注入页面,以便在客户端上执行。
http://www.codeproject.com/KB/aspnet/EmailUsingJavascript.aspx
答案 1 :(得分:2)
(提示:问题格式化)
我不明白mailto链接或formmail类型页面有什么问题。
答案 2 :(得分:1)
如果公司中的每个人都使用Outlook,那么只需使用标准的“mailto”链接就应该始终打开Outlook。听起来你过度设计了这个。
答案 3 :(得分:1)
是否要打开现有的电子邮件或创建新的电子邮件?
也许我误解了你的问题,但你可以提供像
这样的链接 ?的mailto:!recipient@email.tld受试者=此%图20是%第二十条%20subject&安培;主体=你好%20there
当用户点击该链接时,将打开一个新的Outlook-E-Mail并且收件人是收件人@ email-tld,主题是“这是主题”,正文是“Hello there!” 。所有这些字段都已从链接中填充。
答案 4 :(得分:1)
我会把它扔出去,因为有人问过。
Mailto有许多缺点;主要是尺寸。由于发件人需要对电子邮件文本进行大量格式化,因此生成的html代码会占用大量使用mailto时失败的空间。感谢你的建议。