c# - 通过网页发送 Outlook 电子邮件

标签 c# asp.net outlook ms-office

我有一个使用 ASP.net 和 C# 开发的 Web 应用程序,它在我公司的 Intranet 上运行。因为该应用程序的所有用户都无一异常(exception)地使用 Microsoft Outlook,所以我希望该应用程序在客户端打开 Outlook 消息。 我知道 Office 设计为在桌面上运行而不是在服务器上运行,但是我在客户端创建 Word 或 Excel 文档没有问题。

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

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

Mailto 将无法工作,因为电子邮件可能会达到极长的长度。此外,发送它的用户需要为收件人的文本添加视觉效果。

最佳答案

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

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

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

关于c# - 通过网页发送 Outlook 电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44421/

相关文章:

c# - 更改 .asp 文件样式 (css)

c# - 在 Repeater 中更改 LinkBut​​ton 的颜色

c# - 带有版本 2 的 Apple 推送通知 - 限制和问题

asp.net - Windows Azure 中的 DNS 查找时间

html - Outlook 友好的 HTML 代码与传统网页的代码是否不同?

c# - 如何从另一个桌面应用程序控制 Windows 服务

c# - 绘制图表时如何选择漂亮的随机颜色?

asp.net - 重定向URL后为什么会出现I'm getting “HTTP Error 403.14 - Forbidden”错误?

vba - 如何使用 Outlook VBA 在电子邮件中指定光标位置和文本格式

outlook - 当Outlook 2007忽略css时,如何指定font-size?