2011-07-11 11 views
0

私は見通しを開くためにasp.netから他の人のOutlookを開くにはどうしたらいいですか?

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 

を使用していますが、私はエラーましIISでアプリケーションをホストする場合、「ActiveXコンポーネントを作成できません。」 私はすべての提案を歓迎します..

+0

どこにウェブアプリケーションがありますか?サーバーまたは通常のマシンでussualyサーバーにOutlookがインストールされていない – mslliviu

+0

IISで実行されているコード経由でクライアント上でOutlookを開こうとしていますか? – Gabe

+0

はいiis –

答えて

1

何をしようとしているのかは、多くのウイルスとマルウェア作者がやろうとしていることです。その結果、私はあなたができるとは思わない。 Outlookは悪意のあると思われるので、あなたの試みをブロックします。

サーバーが信頼済みゾーンで実行されているが、ユーザーがローカルIE設定を変更してWebサイトを追加する必要がある場合には、動作する可能性があります。あなたがメールアイテムを表示しようとしている場合は、a href=mailto:を代わりに使用してみてください。リンクに件名&が指定されている可能性があります。

シモン

+0

私はそれについてあなたが私に参照を与えることができますか? –

+0

ひどくフォーマットされたメッセージが正しく表示されませんでした。今それを修正しました。 –

+0

そのok私の問題が解決されました。 –

0

サービスプロセスで起動されたWinformsアプリケーション(Outlookなど)は、目に見えない仮想画面に表示されます。アプリケーションのアクションの副作用、つまり電子メールの送信のみを見ることができます。

また、このASP.NETまたはASPクラシックですか?そのCreateObjectは.NETよりASPの古典を多く思い起こさせます

あなたはコードの残りの部分を表示しませんでした...これはサーバー側のコードではなく、代わりにHTMLでユーザーに送信されるクライアント側のVBスクリプトコードに署名する必要があります。ユーザーは、コードを信頼してActiveXコンポーネントを起動するために多くの設定を行う必要があります。 ActiveXコンポーネントをJavaアプレットのように起動することは、セキュリティリスクのようなものです。ActiveXは、もともと慎重にサンドボックス化されていないためです。 (しかし、時代は変わったかもしれませんが、私は何年もHTMLに埋め込まれたクライアント側のActiveXを見ていませんでした)

関連する問題