- - PR -
(ASP.NET)OUTLOOK2003を用いてメール送信
投稿者 | 投稿内容 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-07-19 17:17
いつもお世話になっております。
現在、ASP.NET(VB.NET)からOUTLOOK2003を用いてメール送信 をしようと考えています。 メール送信用のクラスを作成し、Windowsアプリで実行すると メール送信できたのですが、ASP.NETに組み込んで送信すると 「アクセスが拒否されました」というエラーが発生し、メール の送信ができません。 Windowsアプリで送信出来ているのでメール送信用のクラスは 正しく動いていると思います。 どなたが解決策をご教授していただけないでしょうか? お願いいたします。 | ||||||||||||||||
|
投稿日時: 2005-07-19 18:09
OUTLOOKはサーバーにインストールされているのですよね?
メールを送信している最低限のコードを提示されたほうが回答しやすいと思います。 | ||||||||||||||||
|
投稿日時: 2005-07-19 18:16
TAKAさん、こんにちは。Hiraです。
エラーメッセージの通り、実行ユーザに OUTLOOKのアクセス権が無いのでは無いでしょうか? OUTLOOKを使うPGを組んだことが無いので、 断言はできませんが、たぶんそうだと思います。 ASP.NETの実行ユーザに対し、 OUTLOOKの起動権限を与えればいいと思います。 ※設定方法については、ASP.NETでEXCELを作成の例がたくさんあるので それを参考にしてください。 #的外れでしたら、すみません。 追記: Office のサーバーサイド オートメーションについてのページです。参考にしてください。 http://support.microsoft.com/default.aspx?scid=KB;ja;JP257757 [ メッセージ編集済み 編集者: hira 編集日時 2005-07-19 18:49 ] | ||||||||||||||||
|
投稿日時: 2005-07-19 18:18
諸農です。
直接の回答ではないです。 もしも余力があれば、System.Web.Mail.SmtpMailの利用を 検討されてみてはいかがでしょうか。
OutLook2003の実行権限が無いと思われます。 _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||||||||||||||
|
投稿日時: 2005-07-19 18:18
burton999様、ご返答ありがとうございます。
サーバーにはOUTLOOK2003はインストールされています。 ご指摘のとおり送信部分のソースがないと返答しにくい ですね。 以下のメール送信は以下の方法で行っています。 ---------------------------------------------------------- Dim oApp As Outlook._Application Dim oNS As Outlook._NameSpace Dim oMail As Outlook.MailItem oApp = New Outlook.Application oNS = oApp.GetNamespace("mapi") 'メールボックスを指定 oNS.Logon("メールボックス名", "パスワード", False, True) oMail = oApp.CreateItem(Outlook.OlItemType.olMailItem) '送信先 oMail.To = "送信先メールアドレス" '件名 oMail.Subject = "件名" '本文 oMail.Body = Value 'メールを送信する oMail.Send() ---------------------------------------------------------- 以上のロジックでメール送信をしようと考えています。 おかしい所がありましたらご指摘お願いいたします。 | ||||||||||||||||
|
投稿日時: 2005-07-19 18:50
どもです。がると申します。
門外漢から一言。 ソースの添付をされていたようなのですが。 ソースの「どの行で」エラーが出たのかをちゃんと 把握できるようにすると、以降のデバッグも早いと 思うです。 今回に限らず「いつでも使える」テクニックなので、 一度腰をすえて覚えるとよろしいかと ^^ 具体的には。 例えば、まず以下のソースで走らせるです。
次に
次に
次に
こんな感じで。そうすれば「どの行でNGか」が わかるかと思うです。 で、「どの行でNGが出ているのか」がわかれば、 もうちょっと色々と調べたり試したりも容易なのかなぁ と思うのですがどうでしょ? ちょっと手間な上に原始的な方法ですが。 デバッグ手法の一つとして、身に着けて損のない 方法だと思いますよ ^^ | ||||||||||||||||
|
投稿日時: 2005-07-19 18:54
hira様・諸農様、ご返答ありがとうございます。
OutLook2003の実行権限がないという事なので 以下のページを参考にOUTLOOK2003に関係しそうな物に権限を 付けてみました。 http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=18004&forum=7 実際につけたものは Outlook Office Finder Outlook メッセージ添付ファイル です。 でも、まだ「アクセスが拒否されました」というエラーが返ってきます。 他になにか権限を与えなければならない物がありのでしょうか? 申し訳ございませんが、ご教授お願いいたします。 諸農様 諸農様が言われたSystem.Web.Mail.Smtpを使ってのメール送信ですが、 はじめはその方法で作成していました。しかし、客先よりOUTLOOK2003 をつかってメール送信してほしいと言われ現在変更中なのです。 System.Web.Mail.Smtpを使っていた時はメール送信出来ていたのですが・・・ | ||||||||||||||||
|
投稿日時: 2005-07-19 19:06
がる様、ご返答ありがとうございます。
がる様のご指摘を元にどこでエラーが発生しているかを 確認しました。 コード: ----------------------------------------------------------------------- Dim oApp As Outlook._Application Dim oNS As Outlook._NameSpace Dim oMail As Outlook.MailItem oApp = New Outlook.Application ←エラー発生 ------------------------------------------------------------------------------- いきなりエラーが発生しました。 どうもOutlook.Applicationを生成している所でエラーが 発生しました。 これは、hira様・諸農様のご指摘の「権限がない」為に Outlook.Application生成時にエラーは発生しているのでしょうか? 質問ばかりで申し訳ありませんが、ご教授お願いいたします。 |