2

私は次の簡略化されたコードを持っています:

using Outlook = Microsoft.Office.Interop.Outlook;
protected void SendEmailBtn_Click(object sender, EventArgs e)
        {
            Outlook.Application OutlookApp = new Outlook.Application();
            Outlook.MailItem mailItem = (Outlook.MailItem)OutlookApp.CreateItem(Outlook.OlItemType.olMailItem);
            mailItem.Subject = "Test Send Email";
            mailItem.BCC = "test@test.com";
            mailItem.Body = "Dear";
            mailItem.Display(false);
        }

Office2007および2007PIAをインストールし、サーバー(win2008サーバー)にコードを展開しましたが、送信ボタンをクリックしても、クライアントマシンで何も起こらず、Outlookメールメッセージが作成されず、ページが読み込まれたままになります。状態では、エラーや例外は発生しません。サーバー上のタスクマネージャーを見ると、Outlookプロセスが開始され、実行されています。コードはローカルで正常に機能します。つまり、Outlookのメールメッセージが作成されます。何が原因でこれが発生するのかわかりません。サーバー上のアンチウイルスがファイルアクセスをブロックしている可能性がありますか?他のものをインストールする必要がありますか?どんな助けでも大歓迎です。ありがとう。

4

1 に答える 1

1

Outlook ウィンドウにメッセージを読み込んで、ユーザーが確認してから自分自身に送信するだけであれば、Outlook Interop を使用するのはやり過ぎだと思います。次のような通常のハイパーリンクを使用するだけです。

<a href="mailto:?bcc=test@test.com&subject=Test+Send+Email&body=Dear">My Hyperlink</a>

または C# の場合:

System.Diagnostics.Process.Start("mailto:?bcc=test@test.com&subject=Test+Send+Email&body=Dear");
于 2012-09-27T13:34:58.900 に答える