如何从asp.net打开其他人的Outlook?

时间:2011-07-11 14:36:38

标签: asp.net vb.net

我正在使用

    Dim Outl As Object
    Outl = CreateObject("Outlook.Application", "localhost")

    If Outl IsNot Nothing Then
        Dim omsg As Object
        omsg = Outl.CreateItem(0) '=Outlook.OlItemType.olMailItem'
        'set message properties here...'
        omsg.Display(True) 'will display message to user
    End If

打开Outlook但是当我在iis中托管应用程序时,我收到错误“无法创建ActiveX组件”。 我欢迎所有的建议..

2 个答案:

答案 0 :(得分:1)

您要做的是许多病毒和恶意软件作者试图做的事情。因此,我不相信你可以。 Outlook会阻止您的尝试,因为它认为它是恶意的。

如果服务器在受信任区域中运行,它可能会起作用,但用户需要更改其本地IE设置才能添加您的网站。如果您尝试显示邮件项目,请尝试使用a href=mailto:。可以指定主题&身体在链接中。

西蒙

答案 1 :(得分:0)

在服务流程中启动的Winforms应用程序(如Outlook)将显示在不可见的虚拟屏幕上。您只能看到应用程序操作的副作用,即发送电子邮件。

另外,这是ASP.NET还是ASP经典? CreateObject让我想起了比.NET更经典的ASP

你没有显示剩下的代码......如果这不是服务器端代码,而是说用HTML发送给用户的客户端VB脚本,那么你需要签署代码,用户将需要进行大量配置以信任您的代码以启动ActiveX组件。启动一个ActiveX组件就像它是一个Java Applet一样,是一种安全风险,因为ActiveX,至少在最初,并不是设计为小心沙箱。 (但时间可能已经改变,我多年来没有看过HTML中嵌入的客户端ActiveX)